├── .gitattributes ├── .github └── workflows │ └── git-to-pages.yml ├── .gitignore ├── LICENSE.md ├── README.md └── unity ├── .gitattributes ├── .gitignore ├── .vsconfig ├── Assets ├── AddressableAssetsData.meta ├── AddressableAssetsData │ ├── AddressableAssetSettings.asset │ ├── AddressableAssetSettings.asset.meta │ ├── AssetGroupTemplates.meta │ ├── AssetGroupTemplates │ │ ├── Packed Assets.asset │ │ └── Packed Assets.asset.meta │ ├── AssetGroups.meta │ ├── AssetGroups │ │ ├── Built In Data.asset │ │ ├── Built In Data.asset.meta │ │ ├── Default Local Group.asset │ │ ├── Default Local Group.asset.meta │ │ ├── Schemas.meta │ │ └── Schemas │ │ │ ├── Built In Data_PlayerDataGroupSchema.asset │ │ │ ├── Built In Data_PlayerDataGroupSchema.asset.meta │ │ │ ├── Default Local Group_BundledAssetGroupSchema.asset │ │ │ ├── Default Local Group_BundledAssetGroupSchema.asset.meta │ │ │ ├── Default Local Group_ContentUpdateGroupSchema.asset │ │ │ └── Default Local Group_ContentUpdateGroupSchema.asset.meta │ ├── DataBuilders.meta │ ├── DataBuilders │ │ ├── BuildScriptFastMode.asset │ │ ├── BuildScriptFastMode.asset.meta │ │ ├── BuildScriptPackedMode.asset │ │ ├── BuildScriptPackedMode.asset.meta │ │ ├── BuildScriptPackedPlayMode.asset │ │ ├── BuildScriptPackedPlayMode.asset.meta │ │ ├── BuildScriptVirtualMode.asset │ │ └── BuildScriptVirtualMode.asset.meta │ ├── DefaultObject.asset │ └── DefaultObject.asset.meta ├── CroquetJS.meta ├── CroquetJS │ ├── tutorial1.meta │ ├── tutorial1 │ │ ├── Models.js │ │ ├── Models.js.meta │ │ ├── index.js │ │ └── index.js.meta │ ├── tutorial2.meta │ ├── tutorial2 │ │ ├── Models.js │ │ ├── Models.js.meta │ │ ├── index.js │ │ └── index.js.meta │ ├── tutorial3.meta │ ├── tutorial3 │ │ ├── Models.js │ │ ├── Models.js.meta │ │ ├── index.js │ │ └── index.js.meta │ ├── tutorial4.meta │ ├── tutorial4 │ │ ├── Models.js │ │ ├── Models.js.meta │ │ ├── index.js │ │ └── index.js.meta │ ├── tutorial5.meta │ ├── tutorial5 │ │ ├── Models.js │ │ ├── Models.js.meta │ │ ├── index.js │ │ └── index.js.meta │ ├── tutorial6.meta │ ├── tutorial6 │ │ ├── Models.js │ │ ├── Models.js.meta │ │ ├── index.js │ │ └── index.js.meta │ ├── tutorial7.meta │ ├── tutorial7 │ │ ├── Models.js │ │ ├── Models.js.meta │ │ ├── index.js │ │ └── index.js.meta │ ├── tutorial8.meta │ ├── tutorial8 │ │ ├── Models.js │ │ ├── Models.js.meta │ │ ├── index.js │ │ └── index.js.meta │ ├── tutorial9.meta │ └── tutorial9 │ │ ├── Models.js │ │ ├── Models.js.meta │ │ ├── index.js │ │ └── index.js.meta ├── DLL.meta ├── DLL │ ├── zxing.unity.dll │ └── zxing.unity.dll.meta ├── Materials.meta ├── Materials │ ├── WoodBlocks.meta │ ├── WoodBlocks │ │ ├── Textures.meta │ │ ├── Textures │ │ │ ├── columnColor.png │ │ │ ├── columnColor.png.meta │ │ │ ├── columnNormal.png │ │ │ ├── columnNormal.png.meta │ │ │ ├── cubecolor.png │ │ │ ├── cubecolor.png.meta │ │ │ ├── cubenormal.png │ │ │ └── cubenormal.png.meta │ │ ├── WoodColumn.mat │ │ ├── WoodColumn.mat.meta │ │ ├── WoodCube.mat │ │ └── WoodCube.mat.meta │ ├── cyan.mat │ ├── cyan.mat.meta │ ├── ground.mat │ ├── ground.mat.meta │ ├── magenta.mat │ ├── magenta.mat.meta │ ├── yellow.mat │ └── yellow.mat.meta ├── Models.meta ├── Models │ ├── WoodenBlocks.meta │ └── WoodenBlocks │ │ ├── WoodColumnModel.fbx │ │ ├── WoodColumnModel.fbx.meta │ │ ├── WoodCubeModel.fbx │ │ └── WoodCubeModel.fbx.meta ├── Prefabs.meta ├── Prefabs │ ├── Tutorials.meta │ ├── Tutorials │ │ ├── basicCube.prefab │ │ ├── basicCube.prefab.meta │ │ ├── colorableCube.prefab │ │ ├── colorableCube.prefab.meta │ │ ├── groundPlane.prefab │ │ ├── groundPlane.prefab.meta │ │ ├── interactableCube.prefab │ │ ├── interactableCube.prefab.meta │ │ ├── smoothedCube.prefab │ │ └── smoothedCube.prefab.meta │ ├── WoodBlocks.meta │ └── WoodBlocks │ │ ├── WoodColumn.prefab │ │ ├── WoodColumn.prefab.meta │ │ ├── WoodCube.prefab │ │ ├── WoodCube.prefab.meta │ │ ├── tutorial8Avatar.prefab │ │ ├── tutorial8Avatar.prefab.meta │ │ ├── tutorial9Avatar.prefab │ │ └── tutorial9Avatar.prefab.meta ├── Scenes.meta ├── Scenes │ ├── tutorial1.unity │ ├── tutorial1.unity.meta │ ├── tutorial2.unity │ ├── tutorial2.unity.meta │ ├── tutorial3.unity │ ├── tutorial3.unity.meta │ ├── tutorial4.unity │ ├── tutorial4.unity.meta │ ├── tutorial5.unity │ ├── tutorial5.unity.meta │ ├── tutorial6.unity │ ├── tutorial6.unity.meta │ ├── tutorial7.unity │ ├── tutorial7.unity.meta │ ├── tutorial8.unity │ ├── tutorial8.unity.meta │ ├── tutorial9.unity │ └── tutorial9.unity.meta ├── Scripts.meta ├── Scripts │ ├── AssignFollowCamTarget.cs │ ├── AssignFollowCamTarget.cs.meta │ ├── Editor.meta │ ├── Editor │ │ ├── EditorFontSize.cs │ │ └── EditorFontSize.cs.meta │ ├── FollowCam.cs │ ├── FollowCam.cs.meta │ ├── MouseLookAvatar.cs │ ├── MouseLookAvatar.cs.meta │ ├── OverheadAvatar.cs │ └── OverheadAvatar.cs.meta ├── Settings.meta └── Settings │ ├── CroquetSettings.asset │ └── CroquetSettings.asset.meta ├── Packages ├── manifest.json └── packages-lock.json └── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── MemorySettings.asset ├── NavMeshAreas.asset ├── NavMeshLayers.asset ├── NetworkManager.asset ├── PackageManagerSettings.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── SceneTemplateSettings.json ├── TagManager.asset ├── TimeManager.asset ├── UnityConnectSettings.asset ├── VFXManager.asset ├── VersionControlSettings.asset └── boot.config /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set the default behavior, in case people don't have core.autocrlf set. 2 | * text=auto 3 | 4 | # Explicitly declare text files you want to always be normalized and converted 5 | # to native line endings on checkout. 6 | #*.c text 7 | #*.h text 8 | 9 | # Declare files that will always have LF line endings on checkout. 10 | *.js text eol=lf 11 | 12 | # Denote all files that are truly binary and should not be modified. 13 | #*.png binary 14 | #*.jpg binary 15 | -------------------------------------------------------------------------------- /.github/workflows/git-to-pages.yml: -------------------------------------------------------------------------------- 1 | # workflow to make a read-only anonymous copy of the git repo available at a "secret" URL: 2 | # git clone https://croquet.github.io/croquet-for-unity-tutorials/croquet-for-unity-tutorials.git 3 | 4 | # NOTE: to make this work, in GitHub Settings under Pages – Build and Deployment 5 | # change Source from "Deploy from a branch" to "GitHub Actions"! 6 | 7 | name: Git to Pages 8 | 9 | on: 10 | # only execute on push to main 11 | push: 12 | branches: 13 | - main 14 | # or manually in the GitHub UI 15 | workflow_dispatch: 16 | 17 | permissions: 18 | contents: read 19 | pages: write 20 | id-token: write 21 | 22 | concurrency: 23 | group: pages 24 | cancel-in-progress: true 25 | 26 | jobs: 27 | deploy: 28 | environment: 29 | name: github-pages 30 | url: ${{ steps.deployment.outputs.page_url }} 31 | runs-on: ubuntu-latest 32 | steps: 33 | - name: Checkout 34 | uses: actions/checkout@v3 35 | with: 36 | fetch-depth: 0 # fetch full history 37 | 38 | - name: Setup Pages 39 | uses: actions/configure-pages@v3 40 | 41 | - name: Create repo croquet-for-unity-tutorials.git 42 | run: | 43 | git clone --bare . _site/croquet-for-unity-tutorials.git 44 | git -C _site/croquet-for-unity-tutorials.git update-server-info 45 | 46 | - name: Upload _site 47 | uses: actions/upload-pages-artifact@v1 48 | 49 | - name: Deploy to GitHub Pages 50 | id: deployment 51 | uses: actions/deploy-pages@v1 52 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .cache/ 2 | **/dist/ 3 | **/dist-node 4 | **/.DS_Store 5 | **/node_modules/ 6 | **/builds/ 7 | **/obj/ 8 | **/.vs/ 9 | **/.stackdump 10 | 11 | # TYPICAL MAC FILES 12 | # General 13 | .DS_Store 14 | .AppleDouble 15 | .LSOverride 16 | 17 | # Icon must end with two \r 18 | Icon 19 | 20 | # Thumbnails 21 | ._* 22 | 23 | # Files that might appear in the root of a volume 24 | .DocumentRevisions-V100 25 | .fseventsd 26 | .Spotlight-V100 27 | .TemporaryItems 28 | .Trashes 29 | .VolumeIcon.icns 30 | .com.apple.timemachine.donotpresent 31 | 32 | # Directories potentially created on remote AFP share 33 | .AppleDB 34 | .AppleDesktop 35 | Network Trash Folder 36 | Temporary Items 37 | .apdisk 38 | 39 | # TYPICAL WINDOWS FILES 40 | # Windows thumbnail cache files 41 | Thumbs.db 42 | Thumbs.db:encryptable 43 | ehthumbs.db 44 | ehthumbs_vista.db 45 | 46 | # Dump file 47 | *.stackdump 48 | 49 | # Folder config file 50 | [Dd]esktop.ini 51 | 52 | # Recycle Bin used on file shares 53 | $RECYCLE.BIN/ 54 | 55 | # Windows Installer files 56 | *.cab 57 | *.msi 58 | *.msix 59 | *.msm 60 | *.msp 61 | 62 | # Windows shortcuts 63 | *.lnk 64 | 65 | # GitHub pages 66 | /_site/ 67 | 68 | # JS installation and temporary build files 69 | /package*.json 70 | /.eslintrc.json 71 | *.tmp.js 72 | 73 | # Add Dev patch 74 | pkg-dev.patch 75 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | 2 | Copyright 2023 Croquet Corporation. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | -------------------------------------------------------------------------------- /unity/.gitattributes: -------------------------------------------------------------------------------- 1 | # Collapse Unity-generated files on GitHub 2 | *.asset linguist-generated 3 | *.mat linguist-generated 4 | *.meta linguist-generated 5 | *.prefab linguist-generated 6 | *.unity linguist-generated -------------------------------------------------------------------------------- /unity/.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # 3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore 4 | # 5 | /[Ll]ibrary/ 6 | /[Tt]emp/ 7 | /[Oo]bj/ 8 | /[Bb]uild/ 9 | /[Bb]uilds/ 10 | /[Ll]ogs/ 11 | /[Mm]emoryCaptures/ 12 | 13 | # Ignore Package Contents 14 | /[Aa]ssets/[Pp]ackages/ 15 | /[Aa]ssets/[Pp]ackages.meta 16 | 17 | # This captures user-specific settings like views 18 | /[Uu]serSettings/ 19 | 20 | # Streaming Assets Build info 21 | /[Aa]ssets/[Ss]treaming[Aa]ssets/build_info* 22 | /[Aa]ssets/[Ss]treaming[Aa]ssets.meta 23 | 24 | # Asset meta data should only be ignored when the corresponding asset is also ignored 25 | !/[Aa]ssets/**/*.meta 26 | # Uncomment this line if you wish to ignore the asset store tools plugin 27 | # /[Aa]ssets/AssetStoreTools* 28 | # Autogenerated Jetbrains Rider plugin 29 | [Aa]ssets/Plugins/Editor/JetBrains* 30 | # Visual Studio cache directory 31 | .vs/ 32 | # Gradle cache directory 33 | .gradle/ 34 | # Autogenerated VS/MD/Consulo solution and project files 35 | ExportedObj/ 36 | .consulo/ 37 | *.csproj 38 | *.unityproj 39 | *.sln 40 | *.suo 41 | *.tmp 42 | *.user 43 | *.userprefs 44 | *.pidb 45 | *.booproj 46 | *.svd 47 | *.pdb 48 | *.mdb 49 | *.opendb 50 | *.VC.db 51 | # Unity3D generated meta files 52 | *.pidb.meta 53 | *.pdb.meta 54 | *.mdb.meta 55 | # Unity3D generated file on crash reports 56 | sysinfo.txt 57 | # Builds 58 | *.apk 59 | *.unitypackage 60 | 61 | # Windows 62 | Thumbs.db 63 | Desktop.ini 64 | 65 | # macOS 66 | .DS_Store 67 | 68 | # Code Editors 69 | .idea 70 | .vscode 71 | *.swp 72 | xcuserdata 73 | xcshareddata 74 | 75 | # re-installable dependencies 76 | TextMesh\ Pro/ 77 | TextMesh\ Pro.meta 78 | 79 | # Ignore unnecessary addressable build artifacts 80 | /Assets/AddressableAssetsData/* 81 | !/Assets/AddressableAssetsData/AssetGroups/ 82 | !/Assets/AddressableAssetsData/AssetGroups.meta 83 | !/Assets/AddressableAssetsData/AssetGroupTemplates/ 84 | !/Assets/AddressableAssetsData/AssetGroupTemplates.meta 85 | !/Assets/AddressableAssetsData/DataBuilders/ 86 | !/Assets/AddressableAssetsData/DataBuilders.meta 87 | !/Assets/AddressableAssetsData/*.asset 88 | !/Assets/AddressableAssetsData/*.asset.meta 89 | 90 | # Packed Addressables 91 | /[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin* 92 | 93 | # Croquet-built JavaScript and support code 94 | /[Aa]ssets/[Ss]treaming[Aa]ssets* 95 | /[Aa]ssets/[Pp]ackages* 96 | /[Aa]ssets/CroquetJS/build-tools 97 | /[Aa]ssets/CroquetJS/build-tools.meta 98 | -------------------------------------------------------------------------------- /unity/.vsconfig: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "components": [ 4 | "Microsoft.VisualStudio.Workload.ManagedGame" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f8ab90f9051344f33ab9f35282933140 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/AddressableAssetSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 468a46d0ae32c3544b7d98094e6448a9, type: 3} 13 | m_Name: AddressableAssetSettings 14 | m_EditorClassIdentifier: 15 | m_DefaultGroup: 3ffac8b43b7044398bfa119d7aecca3a 16 | m_CachedHash: 17 | serializedVersion: 2 18 | Hash: 00000000000000000000000000000000 19 | m_OptimizeCatalogSize: 0 20 | m_BuildRemoteCatalog: 0 21 | m_BundleLocalCatalog: 0 22 | m_CatalogRequestsTimeout: 0 23 | m_DisableCatalogUpdateOnStart: 0 24 | m_IgnoreUnsupportedFilesInBuild: 0 25 | m_UniqueBundleIds: 0 26 | m_NonRecursiveBuilding: 1 27 | m_CCDEnabled: 0 28 | m_maxConcurrentWebRequests: 500 29 | m_ContiguousBundles: 1 30 | m_StripUnityVersionFromBundleBuild: 0 31 | m_DisableVisibleSubAssetRepresentations: 0 32 | m_ShaderBundleNaming: 0 33 | m_ShaderBundleCustomNaming: 34 | m_MonoScriptBundleNaming: 0 35 | m_MonoScriptBundleCustomNaming: 36 | m_RemoteCatalogBuildPath: 37 | m_Id: 38 | m_RemoteCatalogLoadPath: 39 | m_Id: 40 | m_ContentStateBuildPath: 41 | m_BuildAddressablesWithPlayerBuild: 0 42 | m_overridePlayerVersion: 43 | m_GroupAssets: 44 | - {fileID: 11400000, guid: 2b7ad90c53723491f9857a118ddd67a3, type: 2} 45 | - {fileID: 11400000, guid: 856b4cfa172d84a7b97d5b2d0f6148f7, type: 2} 46 | m_BuildSettings: 47 | m_CompileScriptsInVirtualMode: 0 48 | m_CleanupStreamingAssetsAfterBuilds: 1 49 | m_LogResourceManagerExceptions: 1 50 | m_BundleBuildPath: Temp/com.unity.addressables/AssetBundles 51 | m_ProfileSettings: 52 | m_Profiles: 53 | - m_InheritedParent: 54 | m_Id: 5086567f74b3f46b2b9e4d92829abaec 55 | m_ProfileName: Default 56 | m_Values: 57 | - m_Id: f698fdc28e612408cb5de212bc62b9a8 58 | m_Value: '[UnityEditor.EditorUserBuildSettings.activeBuildTarget]' 59 | - m_Id: b5e06fb8fe8c349f687d690d84d22f65 60 | m_Value: '[UnityEngine.AddressableAssets.Addressables.BuildPath]/[BuildTarget]' 61 | - m_Id: 31c4c72bd7e4f42ea97694821c6b09f3 62 | m_Value: '{UnityEngine.AddressableAssets.Addressables.RuntimePath}/[BuildTarget]' 63 | - m_Id: ade390720799c470e867e046bf022806 64 | m_Value: ServerData/[BuildTarget] 65 | - m_Id: fc313de8b8c70430d9024ef2f145836d 66 | m_Value: http://[PrivateIpAddress]:[HostingServicePort] 67 | m_ProfileEntryNames: 68 | - m_Id: f698fdc28e612408cb5de212bc62b9a8 69 | m_Name: BuildTarget 70 | m_InlineUsage: 0 71 | - m_Id: b5e06fb8fe8c349f687d690d84d22f65 72 | m_Name: Local.BuildPath 73 | m_InlineUsage: 0 74 | - m_Id: 31c4c72bd7e4f42ea97694821c6b09f3 75 | m_Name: Local.LoadPath 76 | m_InlineUsage: 0 77 | - m_Id: ade390720799c470e867e046bf022806 78 | m_Name: Remote.BuildPath 79 | m_InlineUsage: 0 80 | - m_Id: fc313de8b8c70430d9024ef2f145836d 81 | m_Name: Remote.LoadPath 82 | m_InlineUsage: 0 83 | m_ProfileVersion: 1 84 | m_LabelTable: 85 | m_LabelNames: 86 | - tutorial5 87 | - tutorial6 88 | - tutorial7 89 | - tutorial8 90 | - tutorial9 91 | - tutorial1 92 | - tutorial2 93 | - tutorial3 94 | - tutorial4 95 | m_SchemaTemplates: [] 96 | m_GroupTemplateObjects: 97 | - {fileID: 11400000, guid: 2e2c9bdcc4dbd4fe1b46554d72be675b, type: 2} 98 | m_InitializationObjects: [] 99 | m_CertificateHandlerType: 100 | m_AssemblyName: 101 | m_ClassName: 102 | m_ActivePlayerDataBuilderIndex: 3 103 | m_DataBuilders: 104 | - {fileID: 11400000, guid: 7388ed102b8a94373bfe5eb2007fe2a3, type: 2} 105 | - {fileID: 11400000, guid: d041a219e5ecf4a93b68b0eb63e42423, type: 2} 106 | - {fileID: 11400000, guid: 7532127a85e734f9199de22c4cce1145, type: 2} 107 | - {fileID: 11400000, guid: 44c674c80e0724eaeb34be0c9c30a838, type: 2} 108 | m_ActiveProfileId: 5086567f74b3f46b2b9e4d92829abaec 109 | m_HostingServicesManager: 110 | m_HostingServiceInfos: [] 111 | m_Settings: {fileID: 11400000} 112 | m_NextInstanceId: 0 113 | m_RegisteredServiceTypeRefs: [] 114 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/AddressableAssetSettings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1398c81f484a44649a064676c86f132e 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/AssetGroupTemplates.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c2a730c6bb7cb4502ab80f2c7b932066 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 1a3c5d64ac83548c09dd1678b9f6f1cd, type: 3} 13 | m_Name: Packed Assets 14 | m_EditorClassIdentifier: 15 | m_SchemaObjects: 16 | - {fileID: 6726573489638583368} 17 | - {fileID: 9193528169937155289} 18 | m_Description: Pack assets into asset bundles. 19 | m_Settings: {fileID: 0} 20 | --- !u!114 &6726573489638583368 21 | MonoBehaviour: 22 | m_ObjectHideFlags: 1 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 0} 27 | m_Enabled: 1 28 | m_EditorHideFlags: 0 29 | m_Script: {fileID: 11500000, guid: e5d17a21594effb4e9591490b009e7aa, type: 3} 30 | m_Name: BundledAssetGroupSchema 31 | m_EditorClassIdentifier: 32 | m_Group: {fileID: 0} 33 | m_InternalBundleIdMode: 1 34 | m_Compression: 1 35 | m_IncludeAddressInCatalog: 1 36 | m_IncludeGUIDInCatalog: 1 37 | m_IncludeLabelsInCatalog: 1 38 | m_InternalIdNamingMode: 0 39 | m_CacheClearBehavior: 0 40 | m_IncludeInBuild: 1 41 | m_BundledAssetProviderType: 42 | m_AssemblyName: 43 | m_ClassName: 44 | m_ForceUniqueProvider: 0 45 | m_UseAssetBundleCache: 1 46 | m_UseAssetBundleCrc: 1 47 | m_UseAssetBundleCrcForCachedBundles: 1 48 | m_UseUWRForLocalBundles: 0 49 | m_Timeout: 0 50 | m_ChunkedTransfer: 0 51 | m_RedirectLimit: -1 52 | m_RetryCount: 0 53 | m_BuildPath: 54 | m_Id: 55 | m_LoadPath: 56 | m_Id: 57 | m_BundleMode: 0 58 | m_AssetBundleProviderType: 59 | m_AssemblyName: 60 | m_ClassName: 61 | m_BundleNaming: 0 62 | m_AssetLoadMode: 0 63 | --- !u!114 &9193528169937155289 64 | MonoBehaviour: 65 | m_ObjectHideFlags: 1 66 | m_CorrespondingSourceObject: {fileID: 0} 67 | m_PrefabInstance: {fileID: 0} 68 | m_PrefabAsset: {fileID: 0} 69 | m_GameObject: {fileID: 0} 70 | m_Enabled: 1 71 | m_EditorHideFlags: 0 72 | m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3} 73 | m_Name: ContentUpdateGroupSchema 74 | m_EditorClassIdentifier: 75 | m_Group: {fileID: 0} 76 | m_StaticContent: 0 77 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e2c9bdcc4dbd4fe1b46554d72be675b 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/AssetGroups.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ccee708104f3448769c7bd9f5cfb384c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/AssetGroups/Built In Data.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bbb281ee3bf0b054c82ac2347e9e782c, type: 3} 13 | m_Name: Built In Data 14 | m_EditorClassIdentifier: 15 | m_GroupName: Built In Data 16 | m_Data: 17 | m_SerializedData: [] 18 | m_GUID: a26fd18390ae84ed38478a6ef58b2336 19 | m_SerializeEntries: 20 | - m_GUID: Resources 21 | m_Address: Resources 22 | m_ReadOnly: 1 23 | m_SerializedLabels: [] 24 | - m_GUID: EditorSceneList 25 | m_Address: EditorSceneList 26 | m_ReadOnly: 1 27 | m_SerializedLabels: [] 28 | m_ReadOnly: 1 29 | m_Settings: {fileID: 11400000, guid: 1398c81f484a44649a064676c86f132e, type: 2} 30 | m_SchemaSet: 31 | m_Schemas: 32 | - {fileID: 11400000, guid: bd9901ac8486b452a86dd96ce9ee669d, type: 2} 33 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/AssetGroups/Built In Data.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b7ad90c53723491f9857a118ddd67a3 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bbb281ee3bf0b054c82ac2347e9e782c, type: 3} 13 | m_Name: Default Local Group 14 | m_EditorClassIdentifier: 15 | m_GroupName: Default Local Group 16 | m_Data: 17 | m_SerializedData: [] 18 | m_GUID: 3ffac8b43b7044398bfa119d7aecca3a 19 | m_SerializeEntries: 20 | - m_GUID: 2cf569cbd24764b23bab2be8a63b1dab 21 | m_Address: groundPlane 22 | m_ReadOnly: 0 23 | m_SerializedLabels: 24 | - tutorial8 25 | - tutorial6 26 | - tutorial7 27 | - tutorial9 28 | - m_GUID: c7860142b8166774a80931aec25507fe 29 | m_Address: woodColumn 30 | m_ReadOnly: 0 31 | m_SerializedLabels: [] 32 | - m_GUID: d6b5720d36d30406fa312e065ee0a7c1 33 | m_Address: woodCube 34 | m_ReadOnly: 0 35 | m_SerializedLabels: 36 | - tutorial6 37 | - tutorial7 38 | - tutorial8 39 | - tutorial9 40 | - m_GUID: aaec8e24ba41f4fcdbb4496de825be20 41 | m_Address: basicCube 42 | m_ReadOnly: 0 43 | m_SerializedLabels: 44 | - tutorial1 45 | - tutorial2 46 | - m_GUID: c1613ff204ce04f689f13bb3102ba7a8 47 | m_Address: smoothedCube 48 | m_ReadOnly: 0 49 | m_SerializedLabels: 50 | - tutorial2 51 | - tutorial3 52 | - tutorial4 53 | - tutorial5 54 | - m_GUID: 78e641be5a5a64ba1b3cf7613b5c36e5 55 | m_Address: colorableCube 56 | m_ReadOnly: 0 57 | m_SerializedLabels: 58 | - tutorial5 59 | - tutorial6 60 | - m_GUID: 773aec16c560c4a4a81b374be2a86d86 61 | m_Address: interactableCube 62 | m_ReadOnly: 0 63 | m_SerializedLabels: 64 | - tutorial7 65 | - tutorial6 66 | - m_GUID: fdd6fc2f3a96e48c99e579752e60ffeb 67 | m_Address: tutorial8Avatar 68 | m_ReadOnly: 0 69 | m_SerializedLabels: 70 | - tutorial8 71 | - m_GUID: 575db292ec2ca46709a63c4faf0e759a 72 | m_Address: tutorial9Avatar 73 | m_ReadOnly: 0 74 | m_SerializedLabels: 75 | - tutorial9 76 | m_ReadOnly: 0 77 | m_Settings: {fileID: 11400000, guid: 1398c81f484a44649a064676c86f132e, type: 2} 78 | m_SchemaSet: 79 | m_Schemas: 80 | - {fileID: 11400000, guid: c492b9e5938c8424dbdf319a61ff3428, type: 2} 81 | - {fileID: 11400000, guid: 104db7e1c40c6498cad0de1e849be6f2, type: 2} 82 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 856b4cfa172d84a7b97d5b2d0f6148f7 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/AssetGroups/Schemas.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 30976ea1424ad42a39bae88b34c885ff 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/AssetGroups/Schemas/Built In Data_PlayerDataGroupSchema.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: b1487f5d688e4f94f828f879d599dbdc, type: 3} 13 | m_Name: Built In Data_PlayerDataGroupSchema 14 | m_EditorClassIdentifier: 15 | m_Group: {fileID: 11400000, guid: 2b7ad90c53723491f9857a118ddd67a3, type: 2} 16 | m_IncludeResourcesFolders: 1 17 | m_IncludeBuildSettingsScenes: 1 18 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/AssetGroups/Schemas/Built In Data_PlayerDataGroupSchema.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bd9901ac8486b452a86dd96ce9ee669d 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: e5d17a21594effb4e9591490b009e7aa, type: 3} 13 | m_Name: Default Local Group_BundledAssetGroupSchema 14 | m_EditorClassIdentifier: 15 | m_Group: {fileID: 11400000, guid: 856b4cfa172d84a7b97d5b2d0f6148f7, type: 2} 16 | m_InternalBundleIdMode: 1 17 | m_Compression: 1 18 | m_IncludeAddressInCatalog: 1 19 | m_IncludeGUIDInCatalog: 1 20 | m_IncludeLabelsInCatalog: 1 21 | m_InternalIdNamingMode: 0 22 | m_CacheClearBehavior: 0 23 | m_IncludeInBuild: 1 24 | m_BundledAssetProviderType: 25 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 26 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider 27 | m_ForceUniqueProvider: 0 28 | m_UseAssetBundleCache: 1 29 | m_UseAssetBundleCrc: 1 30 | m_UseAssetBundleCrcForCachedBundles: 1 31 | m_UseUWRForLocalBundles: 0 32 | m_Timeout: 0 33 | m_ChunkedTransfer: 0 34 | m_RedirectLimit: -1 35 | m_RetryCount: 0 36 | m_BuildPath: 37 | m_Id: b5e06fb8fe8c349f687d690d84d22f65 38 | m_LoadPath: 39 | m_Id: 31c4c72bd7e4f42ea97694821c6b09f3 40 | m_BundleMode: 0 41 | m_AssetBundleProviderType: 42 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 43 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider 44 | m_BundleNaming: 0 45 | m_AssetLoadMode: 0 46 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 104db7e1c40c6498cad0de1e849be6f2 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3} 13 | m_Name: Default Local Group_ContentUpdateGroupSchema 14 | m_EditorClassIdentifier: 15 | m_Group: {fileID: 11400000, guid: 856b4cfa172d84a7b97d5b2d0f6148f7, type: 2} 16 | m_StaticContent: 0 17 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c492b9e5938c8424dbdf319a61ff3428 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/DataBuilders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 379c9396c48584ec285188e9786a4806 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 88d21199f5d473f4db36845f2318f180, type: 3} 13 | m_Name: BuildScriptFastMode 14 | m_EditorClassIdentifier: 15 | instanceProviderType: 16 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 17 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider 18 | sceneProviderType: 19 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 20 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider 21 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7388ed102b8a94373bfe5eb2007fe2a3 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 3e2e0ffa088c91d41a086d0b8cb16bdc, type: 3} 13 | m_Name: BuildScriptPackedMode 14 | m_EditorClassIdentifier: 15 | instanceProviderType: 16 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 17 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider 18 | sceneProviderType: 19 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 20 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider 21 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 44c674c80e0724eaeb34be0c9c30a838 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: ad8c280d42ee0ed41a27db23b43dd2bf, type: 3} 13 | m_Name: BuildScriptPackedPlayMode 14 | m_EditorClassIdentifier: 15 | instanceProviderType: 16 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 17 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider 18 | sceneProviderType: 19 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 20 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider 21 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7532127a85e734f9199de22c4cce1145 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/DataBuilders/BuildScriptVirtualMode.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bb0e4994b34add1409fd8ccaf4a82de5, type: 3} 13 | m_Name: BuildScriptVirtualMode 14 | m_EditorClassIdentifier: 15 | instanceProviderType: 16 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 17 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider 18 | sceneProviderType: 19 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 20 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider 21 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/DataBuilders/BuildScriptVirtualMode.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d041a219e5ecf4a93b68b0eb63e42423 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/DefaultObject.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 3a189bb168d8d90478a09ea08c2f3d72, type: 3} 13 | m_Name: DefaultObject 14 | m_EditorClassIdentifier: 15 | m_AddressableAssetSettingsGuid: 1398c81f484a44649a064676c86f132e 16 | -------------------------------------------------------------------------------- /unity/Assets/AddressableAssetsData/DefaultObject.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3057d19cc9906447fbe88e3da6d9e897 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d9a629d3d1cab4b62b76ef48fc8d984a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial1.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b52da754ac8ff4d63a6d86c45f394e28 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial1/Models.js: -------------------------------------------------------------------------------- 1 | // Tutorial 1 Models 2 | 3 | // Every object in Worldcore is represented by an actor/pawn pair. Spawning an actor 4 | // automatically instantiates a corresponding pawn. The actor is replicated 5 | // across all clients, while the pawn is unique to each client. In Unity, the pawn is 6 | // a Unity object, usually generated from an instrumented prefab. 7 | 8 | import { Actor, mix, AM_Spatial } from "@croquet/worldcore-kernel"; 9 | import { GameModelRoot } from "@croquet/game-models"; 10 | 11 | //------------------------------------------------------------------------------------------ 12 | // TestActor ------------------------------------------------------------------------------- 13 | //------------------------------------------------------------------------------------------ 14 | 15 | // Here we define a new actor. Actors and pawns can be extended with mixins to give them 16 | // new methods and properties. TestActor is extended by AM_Spatial to give it a position 17 | // in 3D space. 18 | 19 | // The init method executes when the actor is created. In TestActor's init we create two 20 | // subscriptions to listen for keyboard events. When any user presses 'z' the actor 21 | // will move to the left. Pressing 'x' moves it right. 22 | 23 | class TestActor extends mix(Actor).with(AM_Spatial) { 24 | get gamePawnType() { return "basicCube" } 25 | 26 | init(options) { 27 | super.init(options); 28 | this.subscribe("input", "zDown", this.moveLeft); 29 | this.subscribe("input", "xDown", this.moveRight); 30 | } 31 | 32 | moveLeft() { 33 | // console.log("left"); 34 | const translation = this.translation; 35 | translation[0] += -0.1; 36 | this.set({translation}); 37 | } 38 | 39 | moveRight() { 40 | // console.log("right"); 41 | const translation = this.translation; 42 | translation[0] += 0.1; 43 | this.set({translation}); 44 | 45 | } 46 | } 47 | TestActor.register('TestActor'); // All Worldcore actors must be registered after they're defined. 48 | 49 | //------------------------------------------------------------------------------------------ 50 | //-- MyModelRoot --------------------------------------------------------------------------- 51 | //------------------------------------------------------------------------------------------ 52 | 53 | // The model root has an init as well. It creates a single child actor. When you create an 54 | // actor you can pass it an options object. Here we give the actor an initial translation [0,0,0], 55 | // and tell it which pawn to use. 56 | 57 | // Both of these properties can be changed later using set(). 58 | 59 | export class MyModelRoot extends GameModelRoot { 60 | 61 | init(options) { 62 | super.init(options); 63 | console.log("Start model root!"); 64 | this.test = TestActor.create({translation:[0,0,0]}); 65 | } 66 | 67 | } 68 | MyModelRoot.register("MyModelRoot"); 69 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial1/Models.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 51271e1203c65481a8f9b30ecfe3b157 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial1/index.js: -------------------------------------------------------------------------------- 1 | import { StartSession, GameViewRoot } from "@croquet/unity-bridge"; 2 | import { MyModelRoot } from "./Models"; 3 | 4 | StartSession(MyModelRoot, GameViewRoot); 5 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial1/index.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14060388381c54bf69f99a3431cd92eb 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial2.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 91e79c0743bb246998238fde053f2778 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial2/Models.js: -------------------------------------------------------------------------------- 1 | // Tutorial 2 Models 2 | 3 | import { Actor, mix, AM_Spatial, q_axisAngle, q_multiply } from "@croquet/worldcore-kernel"; 4 | import { GameModelRoot } from "@croquet/game-models"; 5 | 6 | //------------------------------------------------------------------------------------------ 7 | // ParentActor ----------------------------------------------------------------------------- 8 | //------------------------------------------------------------------------------------------ 9 | 10 | class ParentActor extends mix(Actor).with(AM_Spatial) { 11 | get gamePawnType() { return "smoothedCube" } 12 | 13 | init(options) { 14 | super.init(options); 15 | this.subscribe("input", "zDown", this.moveLeft); 16 | this.subscribe("input", "xDown", this.moveRight); 17 | } 18 | 19 | moveLeft() { 20 | // console.log("left"); 21 | const translation = this.translation; 22 | translation[0] += -1; 23 | this.set({translation}); 24 | } 25 | 26 | moveRight() { 27 | // console.log("right"); 28 | const translation = this.translation; 29 | translation[0] += 1; 30 | this.set({translation}); 31 | 32 | } 33 | } 34 | ParentActor.register('ParentActor'); 35 | 36 | //------------------------------------------------------------------------------------------ 37 | // ChildActor ------------------------------------------------------------------------------ 38 | //------------------------------------------------------------------------------------------ 39 | 40 | // We also define another actor that doesn't subscribe to input events. 41 | 42 | class ChildActor extends mix(Actor).with(AM_Spatial) { 43 | get gamePawnType() { return "smoothedCube" } 44 | 45 | init(options) { 46 | super.init(options); 47 | this.rate = Math.random()*0.1+0.1; 48 | this.doSpin(); 49 | } 50 | 51 | doSpin() { 52 | const q = q_axisAngle([0,1,0], this.rate); 53 | const rotation = q_multiply(this.rotation, q); 54 | this.set({rotation}); 55 | this.future(100).doSpin(); // this is where the magic happens 56 | } 57 | } 58 | ChildActor.register('ChildActor'); 59 | 60 | //------------------------------------------------------------------------------------------ 61 | //-- MyModelRoot --------------------------------------------------------------------------- 62 | //------------------------------------------------------------------------------------------ 63 | 64 | // We create three actors this time. A parent and two children. A child's translation is 65 | // performed in relation to its parent. 66 | 67 | export class MyModelRoot extends GameModelRoot { 68 | 69 | init(options) { 70 | super.init(options); 71 | console.log("Start model root!"); 72 | const parent = ParentActor.create({translation:[0,0,0]}); 73 | const child = ChildActor.create({parent: parent, translation:[0,0,3]}); // eslint-disable-line object-shorthand 74 | const _grandchild = ChildActor.create({parent: child, translation:[0,2,0]}); 75 | } 76 | 77 | } 78 | MyModelRoot.register("MyModelRoot"); 79 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial2/Models.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71d4bbe7b9c2843fd996951abadfd835 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial2/index.js: -------------------------------------------------------------------------------- 1 | import { StartSession, GameViewRoot } from "@croquet/unity-bridge"; 2 | import { MyModelRoot } from "./Models"; 3 | 4 | StartSession(MyModelRoot, GameViewRoot); 5 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial2/index.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c4ef7605b528545969ac7c9a5cc3af7d 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial3.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 09de351c465f444fc8e6790a21cc61e9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial3/Models.js: -------------------------------------------------------------------------------- 1 | // Tutorial 3 Models 2 | 3 | import { Actor, mix, AM_Spatial, AM_Behavioral } from "@croquet/worldcore-kernel"; 4 | import { GameModelRoot } from "@croquet/game-models"; 5 | 6 | //------------------------------------------------------------------------------------------ 7 | // ParentActor ----------------------------------------------------------------------------- 8 | //------------------------------------------------------------------------------------------ 9 | 10 | // AM_Behavioral lets us attach behaviors to actors to control them. 11 | 12 | class ParentActor extends mix(Actor).with(AM_Spatial, AM_Behavioral) { 13 | get gamePawnType() { return "smoothedCube" } 14 | 15 | init(options) { 16 | super.init(options); 17 | this.subscribe("input", "zDown", this.moveLeft); 18 | this.subscribe("input", "xDown", this.moveRight); 19 | } 20 | 21 | moveLeft() { 22 | console.log("left"); 23 | const translation = this.translation; 24 | translation[0] += -1; 25 | this.set({translation}); 26 | } 27 | 28 | moveRight() { 29 | console.log("right"); 30 | const translation = this.translation; 31 | translation[0] += 1; 32 | this.set({translation}); 33 | 34 | } 35 | } 36 | ParentActor.register('ParentActor'); 37 | 38 | //------------------------------------------------------------------------------------------ 39 | // ChildActor ------------------------------------------------------------------------------ 40 | //------------------------------------------------------------------------------------------ 41 | 42 | // We also define another actor that doesn't subscribe to input events. 43 | 44 | class ChildActor extends mix(Actor).with(AM_Spatial, AM_Behavioral) { 45 | get gamePawnType() { return "smoothedCube" } 46 | } 47 | ChildActor.register('ChildActor'); 48 | 49 | //------------------------------------------------------------------------------------------ 50 | //-- MyModelRoot --------------------------------------------------------------------------- 51 | //------------------------------------------------------------------------------------------ 52 | 53 | // After we create the parent and the child we give each one a different spin behavior. 54 | // When you start behaviors you can pass in options with the behavior name. 55 | 56 | export class MyModelRoot extends GameModelRoot { 57 | 58 | init(options) { 59 | super.init(options); 60 | console.log("Start model root!"); 61 | const parent = ParentActor.create({translation:[0,0,0]}); 62 | const child = ChildActor.create({parent, translation:[0,2,0]}); 63 | 64 | parent.behavior.start({name: "SpinBehavior", axis: [0,0,1], tickRate:500}); 65 | child.behavior.start({name: "SpinBehavior", axis: [0,-1,0], speed: 3}); 66 | } 67 | 68 | } 69 | MyModelRoot.register("MyModelRoot"); 70 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial3/Models.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5318ca395db3b4e028a2bf347270b412 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial3/index.js: -------------------------------------------------------------------------------- 1 | import { StartSession, GameViewRoot } from "@croquet/unity-bridge"; 2 | import { MyModelRoot } from "./Models"; 3 | 4 | StartSession(MyModelRoot, GameViewRoot); 5 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial3/index.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c0817a5d176f4af7945d1a47773997d 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial4.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dac1a066d55ec4623a06864a3bd436fc 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial4/Models.js: -------------------------------------------------------------------------------- 1 | // Tutorial 4 Models 2 | 3 | import { Actor, mix, AM_Spatial, AM_Behavioral, q_euler, toRad } from "@croquet/worldcore-kernel"; 4 | import { GameModelRoot } from "@croquet/game-models"; 5 | 6 | //------------------------------------------------------------------------------------------ 7 | // -- ParentActor -------------------------------------------------------------------------- 8 | //------------------------------------------------------------------------------------------ 9 | 10 | // We add a reset method to pop the actor back to [0,0,0] and set its rotation to 0 degrees. 11 | // Instead of using set() to change the properties, we use snap(). Snap tells the pawn to use the 12 | // new values without view smoothing; it's useful if you need to instantly teleport 13 | // an actor to a new position. 14 | // 15 | // Note that we can snap the rotation and translation simultaneously, while the spin behavior 16 | // continues from the actor's new orientation. 17 | // 18 | // Worldcore stores rotations internally as quaternions; you can create new quaternions with 19 | // helper functions like q_euler() or q_axisAngle(). 20 | 21 | class ParentActor extends mix(Actor).with(AM_Spatial, AM_Behavioral) { 22 | get gamePawnType() { return "smoothedCube" } 23 | 24 | init(options) { 25 | super.init(options); 26 | this.subscribe("input", "zDown", this.moveLeft); 27 | this.subscribe("input", "xDown", this.moveRight); 28 | this.subscribe("input", "nDown", this.reset); 29 | } 30 | 31 | moveLeft() { 32 | // console.log("left"); 33 | const translation = this.translation; 34 | translation[0] += -1; 35 | this.set({translation}); 36 | } 37 | 38 | moveRight() { 39 | // console.log("right"); 40 | const translation = this.translation; 41 | translation[0] += 1; 42 | this.set({translation}); 43 | } 44 | 45 | reset() { 46 | // console.log("reset"); 47 | const rotation = q_euler(0,0,toRad(0)); 48 | this.snap({rotation, translation:[0,0,0]}); 49 | } 50 | } 51 | ParentActor.register('ParentActor'); 52 | 53 | //------------------------------------------------------------------------------------------ 54 | // -- ChildActor --------------------------------------------------------------------------- 55 | //------------------------------------------------------------------------------------------ 56 | 57 | class ChildActor extends mix(Actor).with(AM_Spatial, AM_Behavioral) { 58 | get gamePawnType() { return "smoothedCube" } 59 | } 60 | ChildActor.register('ChildActor'); 61 | 62 | //------------------------------------------------------------------------------------------ 63 | //-- MyModelRoot --------------------------------------------------------------------------- 64 | //------------------------------------------------------------------------------------------ 65 | 66 | export class MyModelRoot extends GameModelRoot { 67 | 68 | init(options) { 69 | super.init(options); 70 | console.log("Start model root!"); 71 | const parent = ParentActor.create({ translation:[0,0,0] }); 72 | const child = ChildActor.create({ parent, translation:[0,2,0] }); 73 | 74 | parent.behavior.start({name: "SpinBehavior", axis: [0,0,1]}); 75 | child.behavior.start({name: "SpinBehavior", axis: [0,-1,0], speed: 3}); 76 | } 77 | 78 | } 79 | MyModelRoot.register("MyModelRoot"); 80 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial4/Models.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 713722df37afe4ada95c2245200f07a8 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial4/index.js: -------------------------------------------------------------------------------- 1 | import { StartSession, GameViewRoot } from "@croquet/unity-bridge"; 2 | import { MyModelRoot } from "./Models"; 3 | 4 | StartSession(MyModelRoot, GameViewRoot); 5 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial4/index.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc557c136eda34457b012454b5276436 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial5.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a587bdfc9b93646b1aae8172c52f977d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial5/Models.js: -------------------------------------------------------------------------------- 1 | // Tutorial 5 Models 2 | 3 | import { Actor, mix, AM_Spatial, AM_Behavioral, q_identity } from "@croquet/worldcore-kernel"; 4 | import { GameModelRoot } from "@croquet/game-models"; 5 | 6 | //------------------------------------------------------------------------------------------ 7 | // -- ParentActor -------------------------------------------------------------------------- 8 | //------------------------------------------------------------------------------------------ 9 | 10 | class ParentActor extends mix(Actor).with(AM_Spatial, AM_Behavioral) { 11 | get gamePawnType() { return "smoothedCube" } 12 | 13 | init(options) { 14 | super.init(options); 15 | this.subscribe("input", "zDown", this.moveLeft); 16 | this.subscribe("input", "xDown", this.moveRight); 17 | this.subscribe("input", "nDown", this.reset); 18 | } 19 | 20 | moveLeft() { 21 | // console.log("left"); 22 | const translation = this.translation; 23 | translation[0] += -1; 24 | this.set({translation}); 25 | } 26 | 27 | moveRight() { 28 | // console.log("right"); 29 | const translation = this.translation; 30 | translation[0] += 1; 31 | this.set({translation}); 32 | } 33 | 34 | reset() { 35 | // console.log("reset"); 36 | const rotation = q_identity(); 37 | this.snap({rotation, translation:[0,0,0]}); 38 | } 39 | } 40 | ParentActor.register('ParentActor'); 41 | 42 | //------------------------------------------------------------------------------------------ 43 | // -- ChildActor --------------------------------------------------------------------------- 44 | //------------------------------------------------------------------------------------------ 45 | 46 | // We add a color property to the ChildActor. This way of defining properties allows us to 47 | // make use of all of Worldcore's built-in machinery for setting properties. The property 48 | // is stored internally with an underline variable. If we never set it, the getter returns 49 | // its default value. 50 | 51 | class ChildActor extends mix(Actor).with(AM_Spatial, AM_Behavioral) { 52 | get gamePawnType() { return "colorableCube" } 53 | 54 | get color() { return this._color || [0.5,0.5,0.5] } 55 | 56 | } 57 | ChildActor.register('ChildActor'); 58 | 59 | //------------------------------------------------------------------------------------------ 60 | //-- MyModelRoot --------------------------------------------------------------------------- 61 | //------------------------------------------------------------------------------------------ 62 | 63 | // When we create the child, we set its initial color to red. 64 | 65 | // We also added a handler in the model root to change the child to a random color whenever "c" 66 | // is pressed. 67 | // Anytime you call random() in the model it returns the same value everywhere. That means that 68 | // although the new color is random, it's the SAME random color for every user. All the clients 69 | // stay in synch. 70 | 71 | 72 | export class MyModelRoot extends GameModelRoot { 73 | 74 | init(options) { 75 | super.init(options); 76 | console.log("Start model root!"); 77 | this.parent = ParentActor.create({translation:[0,0,0]}); 78 | this.child = ChildActor.create({parent: this.parent, color: [1,0,0], translation:[0,2,0]}); 79 | 80 | this.parent.behavior.start({name: "SpinBehavior", axis: [0,0,1], tickRate:500}); 81 | this.child.behavior.start({name: "SpinBehavior", axis: [0,-1,0], speed: 3}); 82 | 83 | this.subscribe("input", "cDown", this.colorChange); 84 | } 85 | 86 | colorChange() { 87 | const color = [this.random(), this.random(), this.random()]; 88 | this.child.set({color}); 89 | } 90 | 91 | } 92 | MyModelRoot.register("MyModelRoot"); 93 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial5/Models.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8d18f8af37bc74d52898f97b1eb24e11 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial5/index.js: -------------------------------------------------------------------------------- 1 | import { StartSession, GameViewRoot } from "@croquet/unity-bridge"; 2 | import { MyModelRoot } from "./Models"; 3 | 4 | StartSession(MyModelRoot, GameViewRoot); 5 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial5/index.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7089c4041d6144d57bc8815055fbd254 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial6.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 80e60eb7ad62940809b8139216b9edda 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial6/Models.js: -------------------------------------------------------------------------------- 1 | // Tutorial 6 Models 2 | 3 | import { Actor, mix, AM_Spatial, AM_Behavioral } from "@croquet/worldcore-kernel"; 4 | import { GameModelRoot } from "@croquet/game-models"; 5 | 6 | //------------------------------------------------------------------------------------------ 7 | // -- BaseActor ---------------------------------------------------------------------------- 8 | //------------------------------------------------------------------------------------------ 9 | 10 | // We added a ground plane called BaseActor. Its pawn includes the Interactable 11 | // mixin, so the actor receives pointerHit events from Unity. 12 | 13 | // A pointerHit event lists all interactable actors whose pawns were on a raycast 14 | // triggered by the pointer. In this example, the BaseActor handles all pointerHit 15 | // events and decides what to do in each case. 16 | 17 | // If the first hit is the BaseActor itself, it spawns a new TestActor and assigns 18 | // it a "layers" property value - an array of strings - that will be provided 19 | // if that actor appears in a future pointerHit event. 20 | 21 | // If the first hit target is not the BaseActor, but another actor with a layer entry 22 | // showing that it was spawned by the BaseActor, we publish a "kill" event 23 | // that the target will respond to by destroying itself. 24 | class BaseActor extends mix(Actor).with(AM_Spatial) { 25 | get gamePawnType() { return "groundPlane" } 26 | 27 | init(options) { 28 | super.init(options); 29 | this.subscribe("input", "pointerHit", this.doPointerHit); 30 | } 31 | 32 | doPointerHit(e) { 33 | // e has a list of hits { actor, xyz, layers } 34 | const { actor, xyz, layers } = e.hits[0]; 35 | if (actor === this) { 36 | this.doSpawn(xyz); 37 | } else if (layers.includes("spawnedByBase")) { 38 | this.publish(actor.id, "kill"); 39 | } 40 | } 41 | 42 | doSpawn(xyz) { 43 | TestActor.create({ parent: this, layers: ["spawnedByBase"], translation: xyz }); 44 | } 45 | 46 | } 47 | BaseActor.register('BaseActor'); 48 | 49 | //------------------------------------------------------------------------------------------ 50 | //-- TestActor ---------------------------------------------------------------------------- 51 | //------------------------------------------------------------------------------------------ 52 | 53 | // TestActor now uses interactableCube, which supports hit-testing on the 54 | // Unity side. It also subscribes to any "kill" event published with the actor's 55 | // own id as scope, and responds by destroying itself. 56 | 57 | class TestActor extends mix(Actor).with(AM_Spatial, AM_Behavioral) { 58 | get gamePawnType() { return "interactableCube" } 59 | 60 | init(options) { 61 | super.init(options); 62 | this.subscribe(this.id, "kill", this.destroy); 63 | } 64 | 65 | } 66 | TestActor.register('TestActor'); 67 | 68 | //------------------------------------------------------------------------------------------ 69 | //-- ColorActor ---------------------------------------------------------------------------- 70 | //------------------------------------------------------------------------------------------ 71 | 72 | class ColorActor extends mix(Actor).with(AM_Spatial, AM_Behavioral) { 73 | get gamePawnType() { return "colorableCube" } 74 | 75 | get color() { return this._color || [0.5,0.5,0.5] } 76 | 77 | } 78 | ColorActor.register('ColorActor'); 79 | 80 | //------------------------------------------------------------------------------------------ 81 | //-- MyModelRoot --------------------------------------------------------------------------- 82 | //------------------------------------------------------------------------------------------ 83 | 84 | export class MyModelRoot extends GameModelRoot { 85 | 86 | init(options) { 87 | super.init(options); 88 | console.log("Start model root!"); 89 | this.base = BaseActor.create(); 90 | this.parent = TestActor.create({parent: this.base, translation:[0,1,0]}); 91 | this.child = ColorActor.create({parent: this.parent, translation:[0,0,-2]}); 92 | 93 | this.parent.behavior.start({name: "SpinBehavior", axis: [0,-1,0], tickRate:500}); 94 | this.child.behavior.start({name: "SpinBehavior", axis: [0,0,1], speed: 3}); 95 | 96 | this.subscribe("input", "cDown", this.colorChange); 97 | } 98 | 99 | colorChange() { 100 | const color = [this.random(), this.random(), this.random()]; 101 | this.child.set({color}); 102 | } 103 | 104 | } 105 | MyModelRoot.register("MyModelRoot"); 106 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial6/Models.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d1f163d19760040c89293c22ee601fd0 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial6/index.js: -------------------------------------------------------------------------------- 1 | import { StartSession, GameViewRoot } from "@croquet/unity-bridge"; 2 | import { MyModelRoot } from "./Models"; 3 | 4 | StartSession(MyModelRoot, GameViewRoot); 5 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial6/index.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d7c55c546a9074d559136b018c2efe87 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial7.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 163c61da54f684ed2aea44c1e4ce88a9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial7/Models.js: -------------------------------------------------------------------------------- 1 | // Tutorial 7 Models 2 | 3 | import { Actor, mix, AM_Spatial, AM_Behavioral, Behavior, sphericalRandom, v3_add } from "@croquet/worldcore-kernel"; 4 | import { GameModelRoot } from "@croquet/game-models"; 5 | 6 | //------------------------------------------------------------------------------------------ 7 | //-- Behaviors ----------------------------------------------------------------------------- 8 | //------------------------------------------------------------------------------------------ 9 | 10 | // Behaviors are simply actors without a spatial location or a pawn, so defining a new behavior 11 | // is like defining a new actor. 12 | // 13 | // Every behavior has a pointer to the actor it's controlling. Most of the time, when you define a 14 | // new behavior all you need to do is write two methods: 15 | // 16 | // * onStart() runs once when the behavior starts 17 | // * do() runs every time the behavior ticks 18 | // 19 | // The delta value passed to do() is the time in milliseconds since the last tick. At some point 20 | // a behavior should either call this.succeed() or this.fail(). Both destroy the behavior and inform 21 | // the behavior's parent of its completion status. A behavior that doesn't succeed or fail will 22 | // run until its actor is destroyed. 23 | 24 | class InflateBehavior extends Behavior { 25 | 26 | get size() { return this._size || 3} 27 | get speed() { return this._speed || 0.5} 28 | 29 | onStart() { 30 | this.inflation = this.actor.scale[0]; 31 | } 32 | 33 | do(delta) { // Increases the actor's scale until it reaches a target size 34 | this.inflation += this.speed * delta/1000; 35 | this.actor.set({scale: [this.inflation, this.inflation, this.inflation]}); 36 | if (this.inflation > this.size) this.succeed(); 37 | } 38 | 39 | } 40 | InflateBehavior.register('InflateBehavior'); 41 | 42 | class RiseBehavior extends Behavior { 43 | 44 | get height() { return this._height || 3} 45 | get speed() { return this._speed || 0.5} 46 | 47 | onStart() { 48 | this.top = this.actor.translation[1] + this.height; 49 | } 50 | 51 | do(delta) { // Moves the actor up until it reaches the top 52 | const y = this.speed * delta/1000; 53 | const translation = v3_add(this.actor.translation, [0,y,0]); 54 | this.actor.set({translation}); 55 | if (translation[1] > this.top) this.succeed(); 56 | } 57 | 58 | } 59 | RiseBehavior.register('RiseBehavior'); 60 | 61 | //------------------------------------------------------------------------------------------ 62 | //-- BaseActor ----------------------------------------------------------------------------- 63 | //------------------------------------------------------------------------------------------ 64 | 65 | class BaseActor extends mix(Actor).with(AM_Spatial) { 66 | get gamePawnType() { return "groundPlane" } 67 | 68 | init(options) { 69 | super.init(options); 70 | this.subscribe("input", "pointerHit", this.doPointerHit); 71 | } 72 | 73 | doPointerHit(e) { 74 | // e has a list of hits { actor, xyz, layers } 75 | const { actor, xyz, layers } = e.hits[0]; 76 | if (actor === this) { 77 | this.doSpawn(xyz); 78 | } else if (layers.includes("spawnedByBase")) { 79 | this.publish(actor.id, "kill"); 80 | } 81 | } 82 | 83 | doSpawn(xyz) { 84 | TestActor.create({ parent: this, layers: ["spawnedByBase"], translation: xyz}); 85 | } 86 | 87 | } 88 | BaseActor.register('BaseActor'); 89 | 90 | //------------------------------------------------------------------------------------------ 91 | //-- TestActor ----------------------------------------------------------------------------- 92 | //------------------------------------------------------------------------------------------ 93 | 94 | // Now when a TestActor is killed, instead of just destroying itself it launches a suite of 95 | // behaviors to float up and inflate until it pops. 96 | // 97 | // When you start several behaviors on the same actor by default they run concurrently, 98 | // but composite behaviors allow you to combine behaviors in different ways. 99 | // 100 | // For example, SequenceBehavior runs a list of behaviors in order. It only starts the 101 | // next behavior when the previous one succeeds. Here we use a SequenceBehavior to destroy 102 | // the actor after it inflates to maximum size. 103 | 104 | class TestActor extends mix(Actor).with(AM_Spatial, AM_Behavioral) { 105 | get gamePawnType() { return "interactableCube" } 106 | 107 | init(options) { 108 | super.init(options); 109 | this.subscribe(this.id, "kill", this.doKill); 110 | } 111 | 112 | doKill() { 113 | if (this.dying) return; // Prevent an actor from being killed twice 114 | this.dying = true; 115 | const translation = v3_add(this.translation, [0,2,0]); 116 | this.set({translation}); 117 | this.behavior.start({name: "RiseBehavior", height: 4, speed: 2}); 118 | this.behavior.start({name: "SpinBehavior", axis: sphericalRandom(), speed: 0.4}); 119 | this.behavior.start({name: "SequenceBehavior", behaviors:[ 120 | {name: "InflateBehavior", size: 3, speed: 0.4}, 121 | "DestroyBehavior" 122 | ]}); 123 | } 124 | } 125 | TestActor.register('TestActor'); 126 | 127 | //------------------------------------------------------------------------------------------ 128 | //-- ColorActor ---------------------------------------------------------------------------- 129 | //------------------------------------------------------------------------------------------ 130 | 131 | class ColorActor extends mix(Actor).with(AM_Spatial, AM_Behavioral) { 132 | get gamePawnType() { return "woodCube" } 133 | 134 | get color() { return this._color || [0.5,0.5,0.5] } 135 | 136 | } 137 | ColorActor.register('ColorActor'); 138 | 139 | //------------------------------------------------------------------------------------------ 140 | //-- MyModelRoot --------------------------------------------------------------------------- 141 | //------------------------------------------------------------------------------------------ 142 | 143 | export class MyModelRoot extends GameModelRoot { 144 | 145 | init(options) { 146 | super.init(options); 147 | console.log("Start model root!"); 148 | this.base = BaseActor.create(); 149 | this.parent = TestActor.create({parent: this.base, translation:[0,1,0]}); 150 | this.child = ColorActor.create({parent: this.parent, translation:[0,0,-2]}); 151 | 152 | this.parent.behavior.start({name: "SpinBehavior", axis: [0,-1,0], tickRate:500}); 153 | this.child.behavior.start({name: "SpinBehavior", axis: [0,0,1], speed: 3}); 154 | 155 | this.subscribe("input", "cDown", this.colorChange); 156 | 157 | } 158 | 159 | colorChange() { 160 | const color = [this.random(), this.random(), this.random()]; 161 | this.child.set({color}); 162 | } 163 | 164 | } 165 | MyModelRoot.register("MyModelRoot"); 166 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial7/Models.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 48889723b86d743cfbbb3c7a4f33d3b1 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial7/index.js: -------------------------------------------------------------------------------- 1 | import { StartSession, GameViewRoot } from "@croquet/unity-bridge"; 2 | import { MyModelRoot } from "./Models"; 3 | 4 | StartSession(MyModelRoot, GameViewRoot); 5 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial7/index.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 940c613d6978f424da359d92504ec1f9 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial8.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b238e4f8af54642688c588ddfc484a63 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial8/Models.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0783ddbb0463d4744acdbce744caaac2 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial8/index.js: -------------------------------------------------------------------------------- 1 | import { StartSession, GameViewRoot } from "@croquet/unity-bridge"; 2 | import { MyModelRoot } from "./Models"; 3 | 4 | StartSession(MyModelRoot, GameViewRoot); 5 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial8/index.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b5be7a46beb6247b38fe90620b61dfe5 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial9.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c2a11888993c640fa9cb879b12e34500 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial9/Models.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1bb274fef570641fbbd01dae21f1c04f 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial9/index.js: -------------------------------------------------------------------------------- 1 | import { StartSession, GameViewRoot } from "@croquet/unity-bridge"; 2 | import { MyModelRoot } from "./Models"; 3 | 4 | StartSession(MyModelRoot, GameViewRoot); 5 | -------------------------------------------------------------------------------- /unity/Assets/CroquetJS/tutorial9/index.js.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45c8bf9dcfb9640fea2506e8d7c31b42 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/DLL.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0248bf6a475184e718e1318dcc25fca0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/DLL/zxing.unity.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/croquet/croquet-for-unity-tutorials/cd864767ea529927fd509bd7b72e54ba179e99b6/unity/Assets/DLL/zxing.unity.dll -------------------------------------------------------------------------------- /unity/Assets/DLL/zxing.unity.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 401673133335e4e70b95d16250421f57 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: AnyCPU 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /unity/Assets/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4c96abc50b92a4dcaa5469fbd80b16d4 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/Materials/WoodBlocks.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 57c2d46fa541d43729e9898126f31157 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/Materials/WoodBlocks/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e7202952c36c41ccb0e38858af48d90 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/Materials/WoodBlocks/Textures/columnColor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/croquet/croquet-for-unity-tutorials/cd864767ea529927fd509bd7b72e54ba179e99b6/unity/Assets/Materials/WoodBlocks/Textures/columnColor.png -------------------------------------------------------------------------------- /unity/Assets/Materials/WoodBlocks/Textures/columnColor.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6223cfef5990a4619ac9231d669d91b3 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 12 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | vTOnly: 0 27 | ignoreMasterTextureLimit: 0 28 | grayScaleToAlpha: 0 29 | generateCubemap: 6 30 | cubemapConvolution: 0 31 | seamlessCubemap: 0 32 | textureFormat: 1 33 | maxTextureSize: 2048 34 | textureSettings: 35 | serializedVersion: 2 36 | filterMode: 1 37 | aniso: 1 38 | mipBias: 0 39 | wrapU: 0 40 | wrapV: 0 41 | wrapW: 0 42 | nPOTScale: 1 43 | lightmap: 0 44 | compressionQuality: 50 45 | spriteMode: 0 46 | spriteExtrude: 1 47 | spriteMeshType: 1 48 | alignment: 0 49 | spritePivot: {x: 0.5, y: 0.5} 50 | spritePixelsToUnits: 100 51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 52 | spriteGenerateFallbackPhysicsShape: 1 53 | alphaUsage: 1 54 | alphaIsTransparency: 0 55 | spriteTessellationDetail: -1 56 | textureType: 0 57 | textureShape: 1 58 | singleChannelComponent: 0 59 | flipbookRows: 1 60 | flipbookColumns: 1 61 | maxTextureSizeSet: 0 62 | compressionQualitySet: 0 63 | textureFormatSet: 0 64 | ignorePngGamma: 0 65 | applyGammaDecoding: 0 66 | cookieLightType: 0 67 | platformSettings: 68 | - serializedVersion: 3 69 | buildTarget: DefaultTexturePlatform 70 | maxTextureSize: 1024 71 | resizeAlgorithm: 0 72 | textureFormat: -1 73 | textureCompression: 1 74 | compressionQuality: 50 75 | crunchedCompression: 0 76 | allowsAlphaSplitting: 0 77 | overridden: 0 78 | androidETC2FallbackOverride: 0 79 | forceMaximumCompressionQuality_BC6H_BC7: 0 80 | - serializedVersion: 3 81 | buildTarget: Standalone 82 | maxTextureSize: 2048 83 | resizeAlgorithm: 0 84 | textureFormat: -1 85 | textureCompression: 1 86 | compressionQuality: 50 87 | crunchedCompression: 0 88 | allowsAlphaSplitting: 0 89 | overridden: 0 90 | androidETC2FallbackOverride: 0 91 | forceMaximumCompressionQuality_BC6H_BC7: 0 92 | - serializedVersion: 3 93 | buildTarget: Server 94 | maxTextureSize: 2048 95 | resizeAlgorithm: 0 96 | textureFormat: -1 97 | textureCompression: 1 98 | compressionQuality: 50 99 | crunchedCompression: 0 100 | allowsAlphaSplitting: 0 101 | overridden: 0 102 | androidETC2FallbackOverride: 0 103 | forceMaximumCompressionQuality_BC6H_BC7: 0 104 | - serializedVersion: 3 105 | buildTarget: Android 106 | maxTextureSize: 2048 107 | resizeAlgorithm: 0 108 | textureFormat: -1 109 | textureCompression: 1 110 | compressionQuality: 50 111 | crunchedCompression: 0 112 | allowsAlphaSplitting: 0 113 | overridden: 0 114 | androidETC2FallbackOverride: 0 115 | forceMaximumCompressionQuality_BC6H_BC7: 0 116 | - serializedVersion: 3 117 | buildTarget: iPhone 118 | maxTextureSize: 2048 119 | resizeAlgorithm: 0 120 | textureFormat: -1 121 | textureCompression: 1 122 | compressionQuality: 50 123 | crunchedCompression: 0 124 | allowsAlphaSplitting: 0 125 | overridden: 0 126 | androidETC2FallbackOverride: 0 127 | forceMaximumCompressionQuality_BC6H_BC7: 0 128 | - serializedVersion: 3 129 | buildTarget: WebGL 130 | maxTextureSize: 2048 131 | resizeAlgorithm: 0 132 | textureFormat: -1 133 | textureCompression: 1 134 | compressionQuality: 50 135 | crunchedCompression: 0 136 | allowsAlphaSplitting: 0 137 | overridden: 0 138 | androidETC2FallbackOverride: 0 139 | forceMaximumCompressionQuality_BC6H_BC7: 0 140 | spriteSheet: 141 | serializedVersion: 2 142 | sprites: [] 143 | outline: [] 144 | physicsShape: [] 145 | bones: [] 146 | spriteID: 147 | internalID: 0 148 | vertices: [] 149 | indices: 150 | edges: [] 151 | weights: [] 152 | secondaryTextures: [] 153 | nameFileIdTable: {} 154 | spritePackingTag: 155 | pSDRemoveMatte: 0 156 | pSDShowRemoveMatteOption: 0 157 | userData: 158 | assetBundleName: 159 | assetBundleVariant: 160 | -------------------------------------------------------------------------------- /unity/Assets/Materials/WoodBlocks/Textures/columnNormal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/croquet/croquet-for-unity-tutorials/cd864767ea529927fd509bd7b72e54ba179e99b6/unity/Assets/Materials/WoodBlocks/Textures/columnNormal.png -------------------------------------------------------------------------------- /unity/Assets/Materials/WoodBlocks/Textures/columnNormal.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ef28d1a3f2c0949908e38149c23ca24e 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 12 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 0 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | vTOnly: 0 27 | ignoreMasterTextureLimit: 0 28 | grayScaleToAlpha: 0 29 | generateCubemap: 6 30 | cubemapConvolution: 0 31 | seamlessCubemap: 0 32 | textureFormat: 1 33 | maxTextureSize: 2048 34 | textureSettings: 35 | serializedVersion: 2 36 | filterMode: 1 37 | aniso: 1 38 | mipBias: 0 39 | wrapU: 0 40 | wrapV: 0 41 | wrapW: 0 42 | nPOTScale: 1 43 | lightmap: 0 44 | compressionQuality: 50 45 | spriteMode: 0 46 | spriteExtrude: 1 47 | spriteMeshType: 1 48 | alignment: 0 49 | spritePivot: {x: 0.5, y: 0.5} 50 | spritePixelsToUnits: 100 51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 52 | spriteGenerateFallbackPhysicsShape: 1 53 | alphaUsage: 1 54 | alphaIsTransparency: 0 55 | spriteTessellationDetail: -1 56 | textureType: 1 57 | textureShape: 1 58 | singleChannelComponent: 0 59 | flipbookRows: 1 60 | flipbookColumns: 1 61 | maxTextureSizeSet: 0 62 | compressionQualitySet: 0 63 | textureFormatSet: 0 64 | ignorePngGamma: 0 65 | applyGammaDecoding: 0 66 | cookieLightType: 0 67 | platformSettings: 68 | - serializedVersion: 3 69 | buildTarget: DefaultTexturePlatform 70 | maxTextureSize: 1024 71 | resizeAlgorithm: 0 72 | textureFormat: -1 73 | textureCompression: 1 74 | compressionQuality: 50 75 | crunchedCompression: 0 76 | allowsAlphaSplitting: 0 77 | overridden: 0 78 | androidETC2FallbackOverride: 0 79 | forceMaximumCompressionQuality_BC6H_BC7: 0 80 | - serializedVersion: 3 81 | buildTarget: Standalone 82 | maxTextureSize: 2048 83 | resizeAlgorithm: 0 84 | textureFormat: -1 85 | textureCompression: 1 86 | compressionQuality: 50 87 | crunchedCompression: 0 88 | allowsAlphaSplitting: 0 89 | overridden: 0 90 | androidETC2FallbackOverride: 0 91 | forceMaximumCompressionQuality_BC6H_BC7: 0 92 | - serializedVersion: 3 93 | buildTarget: Server 94 | maxTextureSize: 2048 95 | resizeAlgorithm: 0 96 | textureFormat: -1 97 | textureCompression: 1 98 | compressionQuality: 50 99 | crunchedCompression: 0 100 | allowsAlphaSplitting: 0 101 | overridden: 0 102 | androidETC2FallbackOverride: 0 103 | forceMaximumCompressionQuality_BC6H_BC7: 0 104 | - serializedVersion: 3 105 | buildTarget: Android 106 | maxTextureSize: 2048 107 | resizeAlgorithm: 0 108 | textureFormat: -1 109 | textureCompression: 1 110 | compressionQuality: 50 111 | crunchedCompression: 0 112 | allowsAlphaSplitting: 0 113 | overridden: 0 114 | androidETC2FallbackOverride: 0 115 | forceMaximumCompressionQuality_BC6H_BC7: 0 116 | - serializedVersion: 3 117 | buildTarget: iPhone 118 | maxTextureSize: 2048 119 | resizeAlgorithm: 0 120 | textureFormat: -1 121 | textureCompression: 1 122 | compressionQuality: 50 123 | crunchedCompression: 0 124 | allowsAlphaSplitting: 0 125 | overridden: 0 126 | androidETC2FallbackOverride: 0 127 | forceMaximumCompressionQuality_BC6H_BC7: 0 128 | - serializedVersion: 3 129 | buildTarget: WebGL 130 | maxTextureSize: 2048 131 | resizeAlgorithm: 0 132 | textureFormat: -1 133 | textureCompression: 1 134 | compressionQuality: 50 135 | crunchedCompression: 0 136 | allowsAlphaSplitting: 0 137 | overridden: 0 138 | androidETC2FallbackOverride: 0 139 | forceMaximumCompressionQuality_BC6H_BC7: 0 140 | spriteSheet: 141 | serializedVersion: 2 142 | sprites: [] 143 | outline: [] 144 | physicsShape: [] 145 | bones: [] 146 | spriteID: 147 | internalID: 0 148 | vertices: [] 149 | indices: 150 | edges: [] 151 | weights: [] 152 | secondaryTextures: [] 153 | nameFileIdTable: {} 154 | spritePackingTag: 155 | pSDRemoveMatte: 0 156 | pSDShowRemoveMatteOption: 0 157 | userData: 158 | assetBundleName: 159 | assetBundleVariant: 160 | -------------------------------------------------------------------------------- /unity/Assets/Materials/WoodBlocks/Textures/cubecolor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/croquet/croquet-for-unity-tutorials/cd864767ea529927fd509bd7b72e54ba179e99b6/unity/Assets/Materials/WoodBlocks/Textures/cubecolor.png -------------------------------------------------------------------------------- /unity/Assets/Materials/WoodBlocks/Textures/cubecolor.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c6be8dfdcf92b427ba1a0e9bbc26b820 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 12 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | vTOnly: 0 27 | ignoreMasterTextureLimit: 0 28 | grayScaleToAlpha: 0 29 | generateCubemap: 6 30 | cubemapConvolution: 0 31 | seamlessCubemap: 0 32 | textureFormat: 1 33 | maxTextureSize: 2048 34 | textureSettings: 35 | serializedVersion: 2 36 | filterMode: 1 37 | aniso: 1 38 | mipBias: 0 39 | wrapU: 0 40 | wrapV: 0 41 | wrapW: 0 42 | nPOTScale: 1 43 | lightmap: 0 44 | compressionQuality: 50 45 | spriteMode: 0 46 | spriteExtrude: 1 47 | spriteMeshType: 1 48 | alignment: 0 49 | spritePivot: {x: 0.5, y: 0.5} 50 | spritePixelsToUnits: 100 51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 52 | spriteGenerateFallbackPhysicsShape: 1 53 | alphaUsage: 1 54 | alphaIsTransparency: 0 55 | spriteTessellationDetail: -1 56 | textureType: 0 57 | textureShape: 1 58 | singleChannelComponent: 0 59 | flipbookRows: 1 60 | flipbookColumns: 1 61 | maxTextureSizeSet: 0 62 | compressionQualitySet: 0 63 | textureFormatSet: 0 64 | ignorePngGamma: 0 65 | applyGammaDecoding: 0 66 | cookieLightType: 0 67 | platformSettings: 68 | - serializedVersion: 3 69 | buildTarget: DefaultTexturePlatform 70 | maxTextureSize: 1024 71 | resizeAlgorithm: 0 72 | textureFormat: -1 73 | textureCompression: 1 74 | compressionQuality: 50 75 | crunchedCompression: 0 76 | allowsAlphaSplitting: 0 77 | overridden: 0 78 | androidETC2FallbackOverride: 0 79 | forceMaximumCompressionQuality_BC6H_BC7: 0 80 | - serializedVersion: 3 81 | buildTarget: Standalone 82 | maxTextureSize: 2048 83 | resizeAlgorithm: 0 84 | textureFormat: -1 85 | textureCompression: 1 86 | compressionQuality: 50 87 | crunchedCompression: 0 88 | allowsAlphaSplitting: 0 89 | overridden: 0 90 | androidETC2FallbackOverride: 0 91 | forceMaximumCompressionQuality_BC6H_BC7: 0 92 | - serializedVersion: 3 93 | buildTarget: Server 94 | maxTextureSize: 2048 95 | resizeAlgorithm: 0 96 | textureFormat: -1 97 | textureCompression: 1 98 | compressionQuality: 50 99 | crunchedCompression: 0 100 | allowsAlphaSplitting: 0 101 | overridden: 0 102 | androidETC2FallbackOverride: 0 103 | forceMaximumCompressionQuality_BC6H_BC7: 0 104 | - serializedVersion: 3 105 | buildTarget: Android 106 | maxTextureSize: 2048 107 | resizeAlgorithm: 0 108 | textureFormat: -1 109 | textureCompression: 1 110 | compressionQuality: 50 111 | crunchedCompression: 0 112 | allowsAlphaSplitting: 0 113 | overridden: 0 114 | androidETC2FallbackOverride: 0 115 | forceMaximumCompressionQuality_BC6H_BC7: 0 116 | - serializedVersion: 3 117 | buildTarget: iPhone 118 | maxTextureSize: 2048 119 | resizeAlgorithm: 0 120 | textureFormat: -1 121 | textureCompression: 1 122 | compressionQuality: 50 123 | crunchedCompression: 0 124 | allowsAlphaSplitting: 0 125 | overridden: 0 126 | androidETC2FallbackOverride: 0 127 | forceMaximumCompressionQuality_BC6H_BC7: 0 128 | - serializedVersion: 3 129 | buildTarget: WebGL 130 | maxTextureSize: 2048 131 | resizeAlgorithm: 0 132 | textureFormat: -1 133 | textureCompression: 1 134 | compressionQuality: 50 135 | crunchedCompression: 0 136 | allowsAlphaSplitting: 0 137 | overridden: 0 138 | androidETC2FallbackOverride: 0 139 | forceMaximumCompressionQuality_BC6H_BC7: 0 140 | spriteSheet: 141 | serializedVersion: 2 142 | sprites: [] 143 | outline: [] 144 | physicsShape: [] 145 | bones: [] 146 | spriteID: 147 | internalID: 0 148 | vertices: [] 149 | indices: 150 | edges: [] 151 | weights: [] 152 | secondaryTextures: [] 153 | nameFileIdTable: {} 154 | spritePackingTag: 155 | pSDRemoveMatte: 0 156 | pSDShowRemoveMatteOption: 0 157 | userData: 158 | assetBundleName: 159 | assetBundleVariant: 160 | -------------------------------------------------------------------------------- /unity/Assets/Materials/WoodBlocks/Textures/cubenormal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/croquet/croquet-for-unity-tutorials/cd864767ea529927fd509bd7b72e54ba179e99b6/unity/Assets/Materials/WoodBlocks/Textures/cubenormal.png -------------------------------------------------------------------------------- /unity/Assets/Materials/WoodBlocks/Textures/cubenormal.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 38d016c0583b62540be80b1978be51ab 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 12 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 0 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | vTOnly: 0 27 | ignoreMasterTextureLimit: 0 28 | grayScaleToAlpha: 0 29 | generateCubemap: 6 30 | cubemapConvolution: 0 31 | seamlessCubemap: 0 32 | textureFormat: 1 33 | maxTextureSize: 2048 34 | textureSettings: 35 | serializedVersion: 2 36 | filterMode: 1 37 | aniso: 1 38 | mipBias: 0 39 | wrapU: 0 40 | wrapV: 0 41 | wrapW: 0 42 | nPOTScale: 1 43 | lightmap: 0 44 | compressionQuality: 50 45 | spriteMode: 0 46 | spriteExtrude: 1 47 | spriteMeshType: 1 48 | alignment: 0 49 | spritePivot: {x: 0.5, y: 0.5} 50 | spritePixelsToUnits: 100 51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 52 | spriteGenerateFallbackPhysicsShape: 1 53 | alphaUsage: 1 54 | alphaIsTransparency: 0 55 | spriteTessellationDetail: -1 56 | textureType: 1 57 | textureShape: 1 58 | singleChannelComponent: 0 59 | flipbookRows: 1 60 | flipbookColumns: 1 61 | maxTextureSizeSet: 0 62 | compressionQualitySet: 0 63 | textureFormatSet: 0 64 | ignorePngGamma: 0 65 | applyGammaDecoding: 0 66 | cookieLightType: 0 67 | platformSettings: 68 | - serializedVersion: 3 69 | buildTarget: DefaultTexturePlatform 70 | maxTextureSize: 1024 71 | resizeAlgorithm: 0 72 | textureFormat: -1 73 | textureCompression: 1 74 | compressionQuality: 50 75 | crunchedCompression: 0 76 | allowsAlphaSplitting: 0 77 | overridden: 0 78 | androidETC2FallbackOverride: 0 79 | forceMaximumCompressionQuality_BC6H_BC7: 0 80 | - serializedVersion: 3 81 | buildTarget: Standalone 82 | maxTextureSize: 2048 83 | resizeAlgorithm: 0 84 | textureFormat: -1 85 | textureCompression: 1 86 | compressionQuality: 50 87 | crunchedCompression: 0 88 | allowsAlphaSplitting: 0 89 | overridden: 0 90 | androidETC2FallbackOverride: 0 91 | forceMaximumCompressionQuality_BC6H_BC7: 0 92 | - serializedVersion: 3 93 | buildTarget: Server 94 | maxTextureSize: 2048 95 | resizeAlgorithm: 0 96 | textureFormat: -1 97 | textureCompression: 1 98 | compressionQuality: 50 99 | crunchedCompression: 0 100 | allowsAlphaSplitting: 0 101 | overridden: 0 102 | androidETC2FallbackOverride: 0 103 | forceMaximumCompressionQuality_BC6H_BC7: 0 104 | - serializedVersion: 3 105 | buildTarget: Android 106 | maxTextureSize: 2048 107 | resizeAlgorithm: 0 108 | textureFormat: -1 109 | textureCompression: 1 110 | compressionQuality: 50 111 | crunchedCompression: 0 112 | allowsAlphaSplitting: 0 113 | overridden: 0 114 | androidETC2FallbackOverride: 0 115 | forceMaximumCompressionQuality_BC6H_BC7: 0 116 | - serializedVersion: 3 117 | buildTarget: iPhone 118 | maxTextureSize: 2048 119 | resizeAlgorithm: 0 120 | textureFormat: -1 121 | textureCompression: 1 122 | compressionQuality: 50 123 | crunchedCompression: 0 124 | allowsAlphaSplitting: 0 125 | overridden: 0 126 | androidETC2FallbackOverride: 0 127 | forceMaximumCompressionQuality_BC6H_BC7: 0 128 | - serializedVersion: 3 129 | buildTarget: WebGL 130 | maxTextureSize: 2048 131 | resizeAlgorithm: 0 132 | textureFormat: -1 133 | textureCompression: 1 134 | compressionQuality: 50 135 | crunchedCompression: 0 136 | allowsAlphaSplitting: 0 137 | overridden: 0 138 | androidETC2FallbackOverride: 0 139 | forceMaximumCompressionQuality_BC6H_BC7: 0 140 | spriteSheet: 141 | serializedVersion: 2 142 | sprites: [] 143 | outline: [] 144 | physicsShape: [] 145 | bones: [] 146 | spriteID: 147 | internalID: 0 148 | vertices: [] 149 | indices: 150 | edges: [] 151 | weights: [] 152 | secondaryTextures: [] 153 | nameFileIdTable: {} 154 | spritePackingTag: 155 | pSDRemoveMatte: 0 156 | pSDShowRemoveMatteOption: 0 157 | userData: 158 | assetBundleName: 159 | assetBundleVariant: 160 | -------------------------------------------------------------------------------- /unity/Assets/Materials/WoodBlocks/WoodColumn.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 8 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: WoodColumn 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ValidKeywords: 13 | - _NORMALMAP 14 | m_InvalidKeywords: [] 15 | m_LightmapFlags: 4 16 | m_EnableInstancingVariants: 1 17 | m_DoubleSidedGI: 0 18 | m_CustomRenderQueue: -1 19 | stringTagMap: {} 20 | disabledShaderPasses: [] 21 | m_SavedProperties: 22 | serializedVersion: 3 23 | m_TexEnvs: 24 | - _BumpMap: 25 | m_Texture: {fileID: 2800000, guid: ef28d1a3f2c0949908e38149c23ca24e, type: 3} 26 | m_Scale: {x: 1, y: 1} 27 | m_Offset: {x: 0, y: 0} 28 | - _DetailAlbedoMap: 29 | m_Texture: {fileID: 0} 30 | m_Scale: {x: 1, y: 1} 31 | m_Offset: {x: 0, y: 0} 32 | - _DetailMask: 33 | m_Texture: {fileID: 0} 34 | m_Scale: {x: 1, y: 1} 35 | m_Offset: {x: 0, y: 0} 36 | - _DetailNormalMap: 37 | m_Texture: {fileID: 0} 38 | m_Scale: {x: 1, y: 1} 39 | m_Offset: {x: 0, y: 0} 40 | - _EmissionMap: 41 | m_Texture: {fileID: 0} 42 | m_Scale: {x: 1, y: 1} 43 | m_Offset: {x: 0, y: 0} 44 | - _MainTex: 45 | m_Texture: {fileID: 2800000, guid: 6223cfef5990a4619ac9231d669d91b3, type: 3} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - _MetallicGlossMap: 49 | m_Texture: {fileID: 0} 50 | m_Scale: {x: 1, y: 1} 51 | m_Offset: {x: 0, y: 0} 52 | - _OcclusionMap: 53 | m_Texture: {fileID: 0} 54 | m_Scale: {x: 1, y: 1} 55 | m_Offset: {x: 0, y: 0} 56 | - _ParallaxMap: 57 | m_Texture: {fileID: 0} 58 | m_Scale: {x: 1, y: 1} 59 | m_Offset: {x: 0, y: 0} 60 | m_Ints: [] 61 | m_Floats: 62 | - _BumpScale: 2.5 63 | - _Cutoff: 0.5 64 | - _DetailNormalMapScale: 1 65 | - _DstBlend: 0 66 | - _GlossMapScale: 1 67 | - _Glossiness: 0 68 | - _GlossyReflections: 1 69 | - _Metallic: 0 70 | - _Mode: 0 71 | - _OcclusionStrength: 1 72 | - _Parallax: 0.02 73 | - _SmoothnessTextureChannel: 0 74 | - _SpecularHighlights: 1 75 | - _SrcBlend: 1 76 | - _UVSec: 0 77 | - _ZWrite: 1 78 | m_Colors: 79 | - _Color: {r: 1, g: 1, b: 1, a: 1} 80 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 81 | m_BuildTextureStacks: [] 82 | -------------------------------------------------------------------------------- /unity/Assets/Materials/WoodBlocks/WoodColumn.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2cfeb35248c90524f9173518285979e1 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/Materials/WoodBlocks/WoodCube.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 8 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: WoodCube 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ValidKeywords: 13 | - _NORMALMAP 14 | m_InvalidKeywords: [] 15 | m_LightmapFlags: 4 16 | m_EnableInstancingVariants: 1 17 | m_DoubleSidedGI: 0 18 | m_CustomRenderQueue: -1 19 | stringTagMap: {} 20 | disabledShaderPasses: [] 21 | m_SavedProperties: 22 | serializedVersion: 3 23 | m_TexEnvs: 24 | - _BumpMap: 25 | m_Texture: {fileID: 2800000, guid: 38d016c0583b62540be80b1978be51ab, type: 3} 26 | m_Scale: {x: 1, y: 1} 27 | m_Offset: {x: 0, y: 0} 28 | - _DetailAlbedoMap: 29 | m_Texture: {fileID: 0} 30 | m_Scale: {x: 1, y: 1} 31 | m_Offset: {x: 0, y: 0} 32 | - _DetailMask: 33 | m_Texture: {fileID: 0} 34 | m_Scale: {x: 1, y: 1} 35 | m_Offset: {x: 0, y: 0} 36 | - _DetailNormalMap: 37 | m_Texture: {fileID: 0} 38 | m_Scale: {x: 1, y: 1} 39 | m_Offset: {x: 0, y: 0} 40 | - _EmissionMap: 41 | m_Texture: {fileID: 0} 42 | m_Scale: {x: 1, y: 1} 43 | m_Offset: {x: 0, y: 0} 44 | - _MainTex: 45 | m_Texture: {fileID: 2800000, guid: c6be8dfdcf92b427ba1a0e9bbc26b820, type: 3} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - _MetallicGlossMap: 49 | m_Texture: {fileID: 0} 50 | m_Scale: {x: 1, y: 1} 51 | m_Offset: {x: 0, y: 0} 52 | - _OcclusionMap: 53 | m_Texture: {fileID: 0} 54 | m_Scale: {x: 1, y: 1} 55 | m_Offset: {x: 0, y: 0} 56 | - _ParallaxMap: 57 | m_Texture: {fileID: 0} 58 | m_Scale: {x: 1, y: 1} 59 | m_Offset: {x: 0, y: 0} 60 | m_Ints: [] 61 | m_Floats: 62 | - _BumpScale: 2.5 63 | - _Cutoff: 0.5 64 | - _DetailNormalMapScale: 1 65 | - _DstBlend: 0 66 | - _GlossMapScale: 1 67 | - _Glossiness: 0 68 | - _GlossyReflections: 1 69 | - _Metallic: 0 70 | - _Mode: 0 71 | - _OcclusionStrength: 1 72 | - _Parallax: 0.02 73 | - _SmoothnessTextureChannel: 0 74 | - _SpecularHighlights: 1 75 | - _SrcBlend: 1 76 | - _UVSec: 0 77 | - _ZWrite: 1 78 | m_Colors: 79 | - _Color: {r: 1, g: 1, b: 1, a: 1} 80 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 81 | m_BuildTextureStacks: [] 82 | -------------------------------------------------------------------------------- /unity/Assets/Materials/WoodBlocks/WoodCube.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fdb8e9746e99148548baca5ce86e1b7c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/Materials/cyan.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 8 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: cyan 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ValidKeywords: [] 13 | m_InvalidKeywords: [] 14 | m_LightmapFlags: 4 15 | m_EnableInstancingVariants: 0 16 | m_DoubleSidedGI: 0 17 | m_CustomRenderQueue: -1 18 | stringTagMap: {} 19 | disabledShaderPasses: [] 20 | m_SavedProperties: 21 | serializedVersion: 3 22 | m_TexEnvs: 23 | - _BumpMap: 24 | m_Texture: {fileID: 0} 25 | m_Scale: {x: 1, y: 1} 26 | m_Offset: {x: 0, y: 0} 27 | - _DetailAlbedoMap: 28 | m_Texture: {fileID: 0} 29 | m_Scale: {x: 1, y: 1} 30 | m_Offset: {x: 0, y: 0} 31 | - _DetailMask: 32 | m_Texture: {fileID: 0} 33 | m_Scale: {x: 1, y: 1} 34 | m_Offset: {x: 0, y: 0} 35 | - _DetailNormalMap: 36 | m_Texture: {fileID: 0} 37 | m_Scale: {x: 1, y: 1} 38 | m_Offset: {x: 0, y: 0} 39 | - _EmissionMap: 40 | m_Texture: {fileID: 0} 41 | m_Scale: {x: 1, y: 1} 42 | m_Offset: {x: 0, y: 0} 43 | - _MainTex: 44 | m_Texture: {fileID: 0} 45 | m_Scale: {x: 1, y: 1} 46 | m_Offset: {x: 0, y: 0} 47 | - _MetallicGlossMap: 48 | m_Texture: {fileID: 0} 49 | m_Scale: {x: 1, y: 1} 50 | m_Offset: {x: 0, y: 0} 51 | - _OcclusionMap: 52 | m_Texture: {fileID: 0} 53 | m_Scale: {x: 1, y: 1} 54 | m_Offset: {x: 0, y: 0} 55 | - _ParallaxMap: 56 | m_Texture: {fileID: 0} 57 | m_Scale: {x: 1, y: 1} 58 | m_Offset: {x: 0, y: 0} 59 | m_Ints: [] 60 | m_Floats: 61 | - _BumpScale: 1 62 | - _Cutoff: 0.5 63 | - _DetailNormalMapScale: 1 64 | - _DstBlend: 0 65 | - _GlossMapScale: 1 66 | - _Glossiness: 0.5 67 | - _GlossyReflections: 1 68 | - _Metallic: 0 69 | - _Mode: 0 70 | - _OcclusionStrength: 1 71 | - _Parallax: 0.02 72 | - _SmoothnessTextureChannel: 0 73 | - _SpecularHighlights: 1 74 | - _SrcBlend: 1 75 | - _UVSec: 0 76 | - _ZWrite: 1 77 | m_Colors: 78 | - _Color: {r: 0, g: 1, b: 1, a: 1} 79 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 80 | m_BuildTextureStacks: [] 81 | -------------------------------------------------------------------------------- /unity/Assets/Materials/cyan.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d316020e63d54735b8e50b6c5291465 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/Materials/ground.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 8 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: ground 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ValidKeywords: [] 13 | m_InvalidKeywords: [] 14 | m_LightmapFlags: 4 15 | m_EnableInstancingVariants: 0 16 | m_DoubleSidedGI: 0 17 | m_CustomRenderQueue: -1 18 | stringTagMap: {} 19 | disabledShaderPasses: [] 20 | m_SavedProperties: 21 | serializedVersion: 3 22 | m_TexEnvs: 23 | - _BumpMap: 24 | m_Texture: {fileID: 0} 25 | m_Scale: {x: 1, y: 1} 26 | m_Offset: {x: 0, y: 0} 27 | - _DetailAlbedoMap: 28 | m_Texture: {fileID: 0} 29 | m_Scale: {x: 1, y: 1} 30 | m_Offset: {x: 0, y: 0} 31 | - _DetailMask: 32 | m_Texture: {fileID: 0} 33 | m_Scale: {x: 1, y: 1} 34 | m_Offset: {x: 0, y: 0} 35 | - _DetailNormalMap: 36 | m_Texture: {fileID: 0} 37 | m_Scale: {x: 1, y: 1} 38 | m_Offset: {x: 0, y: 0} 39 | - _EmissionMap: 40 | m_Texture: {fileID: 0} 41 | m_Scale: {x: 1, y: 1} 42 | m_Offset: {x: 0, y: 0} 43 | - _MainTex: 44 | m_Texture: {fileID: 0} 45 | m_Scale: {x: 1, y: 1} 46 | m_Offset: {x: 0, y: 0} 47 | - _MetallicGlossMap: 48 | m_Texture: {fileID: 0} 49 | m_Scale: {x: 1, y: 1} 50 | m_Offset: {x: 0, y: 0} 51 | - _OcclusionMap: 52 | m_Texture: {fileID: 0} 53 | m_Scale: {x: 1, y: 1} 54 | m_Offset: {x: 0, y: 0} 55 | - _ParallaxMap: 56 | m_Texture: {fileID: 0} 57 | m_Scale: {x: 1, y: 1} 58 | m_Offset: {x: 0, y: 0} 59 | m_Ints: [] 60 | m_Floats: 61 | - _BumpScale: 1 62 | - _Cutoff: 0.5 63 | - _DetailNormalMapScale: 1 64 | - _DstBlend: 0 65 | - _GlossMapScale: 1 66 | - _Glossiness: 0.5 67 | - _GlossyReflections: 1 68 | - _Metallic: 0 69 | - _Mode: 0 70 | - _OcclusionStrength: 1 71 | - _Parallax: 0.02 72 | - _SmoothnessTextureChannel: 0 73 | - _SpecularHighlights: 1 74 | - _SrcBlend: 1 75 | - _UVSec: 0 76 | - _ZWrite: 1 77 | m_Colors: 78 | - _Color: {r: 0.4, g: 0.8, b: 0.2, a: 1} 79 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 80 | m_BuildTextureStacks: [] 81 | -------------------------------------------------------------------------------- /unity/Assets/Materials/ground.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 50f9f97754a324825ace0d056c32b69d 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/Materials/magenta.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 8 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: magenta 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ValidKeywords: [] 13 | m_InvalidKeywords: [] 14 | m_LightmapFlags: 4 15 | m_EnableInstancingVariants: 0 16 | m_DoubleSidedGI: 0 17 | m_CustomRenderQueue: -1 18 | stringTagMap: {} 19 | disabledShaderPasses: [] 20 | m_SavedProperties: 21 | serializedVersion: 3 22 | m_TexEnvs: 23 | - _BumpMap: 24 | m_Texture: {fileID: 0} 25 | m_Scale: {x: 1, y: 1} 26 | m_Offset: {x: 0, y: 0} 27 | - _DetailAlbedoMap: 28 | m_Texture: {fileID: 0} 29 | m_Scale: {x: 1, y: 1} 30 | m_Offset: {x: 0, y: 0} 31 | - _DetailMask: 32 | m_Texture: {fileID: 0} 33 | m_Scale: {x: 1, y: 1} 34 | m_Offset: {x: 0, y: 0} 35 | - _DetailNormalMap: 36 | m_Texture: {fileID: 0} 37 | m_Scale: {x: 1, y: 1} 38 | m_Offset: {x: 0, y: 0} 39 | - _EmissionMap: 40 | m_Texture: {fileID: 0} 41 | m_Scale: {x: 1, y: 1} 42 | m_Offset: {x: 0, y: 0} 43 | - _MainTex: 44 | m_Texture: {fileID: 0} 45 | m_Scale: {x: 1, y: 1} 46 | m_Offset: {x: 0, y: 0} 47 | - _MetallicGlossMap: 48 | m_Texture: {fileID: 0} 49 | m_Scale: {x: 1, y: 1} 50 | m_Offset: {x: 0, y: 0} 51 | - _OcclusionMap: 52 | m_Texture: {fileID: 0} 53 | m_Scale: {x: 1, y: 1} 54 | m_Offset: {x: 0, y: 0} 55 | - _ParallaxMap: 56 | m_Texture: {fileID: 0} 57 | m_Scale: {x: 1, y: 1} 58 | m_Offset: {x: 0, y: 0} 59 | m_Ints: [] 60 | m_Floats: 61 | - _BumpScale: 1 62 | - _Cutoff: 0.5 63 | - _DetailNormalMapScale: 1 64 | - _DstBlend: 0 65 | - _GlossMapScale: 1 66 | - _Glossiness: 0.5 67 | - _GlossyReflections: 1 68 | - _Metallic: 0 69 | - _Mode: 0 70 | - _OcclusionStrength: 1 71 | - _Parallax: 0.02 72 | - _SmoothnessTextureChannel: 0 73 | - _SpecularHighlights: 1 74 | - _SrcBlend: 1 75 | - _UVSec: 0 76 | - _ZWrite: 1 77 | m_Colors: 78 | - _Color: {r: 1, g: 0, b: 1, a: 1} 79 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 80 | m_BuildTextureStacks: [] 81 | -------------------------------------------------------------------------------- /unity/Assets/Materials/magenta.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 09fe3c9bf43c2497da0a81d93d40934c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/Materials/yellow.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 8 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: yellow 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ValidKeywords: [] 13 | m_InvalidKeywords: [] 14 | m_LightmapFlags: 4 15 | m_EnableInstancingVariants: 0 16 | m_DoubleSidedGI: 0 17 | m_CustomRenderQueue: -1 18 | stringTagMap: {} 19 | disabledShaderPasses: [] 20 | m_SavedProperties: 21 | serializedVersion: 3 22 | m_TexEnvs: 23 | - _BumpMap: 24 | m_Texture: {fileID: 0} 25 | m_Scale: {x: 1, y: 1} 26 | m_Offset: {x: 0, y: 0} 27 | - _DetailAlbedoMap: 28 | m_Texture: {fileID: 0} 29 | m_Scale: {x: 1, y: 1} 30 | m_Offset: {x: 0, y: 0} 31 | - _DetailMask: 32 | m_Texture: {fileID: 0} 33 | m_Scale: {x: 1, y: 1} 34 | m_Offset: {x: 0, y: 0} 35 | - _DetailNormalMap: 36 | m_Texture: {fileID: 0} 37 | m_Scale: {x: 1, y: 1} 38 | m_Offset: {x: 0, y: 0} 39 | - _EmissionMap: 40 | m_Texture: {fileID: 0} 41 | m_Scale: {x: 1, y: 1} 42 | m_Offset: {x: 0, y: 0} 43 | - _MainTex: 44 | m_Texture: {fileID: 0} 45 | m_Scale: {x: 1, y: 1} 46 | m_Offset: {x: 0, y: 0} 47 | - _MetallicGlossMap: 48 | m_Texture: {fileID: 0} 49 | m_Scale: {x: 1, y: 1} 50 | m_Offset: {x: 0, y: 0} 51 | - _OcclusionMap: 52 | m_Texture: {fileID: 0} 53 | m_Scale: {x: 1, y: 1} 54 | m_Offset: {x: 0, y: 0} 55 | - _ParallaxMap: 56 | m_Texture: {fileID: 0} 57 | m_Scale: {x: 1, y: 1} 58 | m_Offset: {x: 0, y: 0} 59 | m_Ints: [] 60 | m_Floats: 61 | - _BumpScale: 1 62 | - _Cutoff: 0.5 63 | - _DetailNormalMapScale: 1 64 | - _DstBlend: 0 65 | - _GlossMapScale: 1 66 | - _Glossiness: 0.5 67 | - _GlossyReflections: 1 68 | - _Metallic: 0 69 | - _Mode: 0 70 | - _OcclusionStrength: 1 71 | - _Parallax: 0.02 72 | - _SmoothnessTextureChannel: 0 73 | - _SpecularHighlights: 1 74 | - _SrcBlend: 1 75 | - _UVSec: 0 76 | - _ZWrite: 1 77 | m_Colors: 78 | - _Color: {r: 1, g: 1, b: 0, a: 1} 79 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 80 | m_BuildTextureStacks: [] 81 | -------------------------------------------------------------------------------- /unity/Assets/Materials/yellow.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b65e4b00848742bab97dcd4e074af7a 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/Models.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1ad14e6fd5c164ba6a39e196aee5ae66 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/Models/WoodenBlocks.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e823772392f8c40878a5120200360836 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/Models/WoodenBlocks/WoodColumnModel.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/croquet/croquet-for-unity-tutorials/cd864767ea529927fd509bd7b72e54ba179e99b6/unity/Assets/Models/WoodenBlocks/WoodColumnModel.fbx -------------------------------------------------------------------------------- /unity/Assets/Models/WoodenBlocks/WoodColumnModel.fbx.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cc7a006d67298ce4484ad36d9443c953 3 | ModelImporter: 4 | serializedVersion: 21300 5 | internalIDToNameTable: [] 6 | externalObjects: 7 | - first: 8 | type: UnityEngine:Material 9 | assembly: UnityEngine.CoreModule 10 | name: Support 11 | second: {fileID: 2100000, guid: 2cfeb35248c90524f9173518285979e1, type: 2} 12 | materials: 13 | materialImportMode: 2 14 | materialName: 0 15 | materialSearch: 1 16 | materialLocation: 1 17 | animations: 18 | legacyGenerateAnimations: 4 19 | bakeSimulation: 0 20 | resampleCurves: 1 21 | optimizeGameObjects: 0 22 | removeConstantScaleCurves: 1 23 | motionNodeName: 24 | rigImportErrors: 25 | rigImportWarnings: 26 | animationImportErrors: 27 | animationImportWarnings: 28 | animationRetargetingWarnings: 29 | animationDoRetargetingWarnings: 0 30 | importAnimatedCustomProperties: 0 31 | importConstraints: 0 32 | animationCompression: 1 33 | animationRotationError: 0.5 34 | animationPositionError: 0.5 35 | animationScaleError: 0.5 36 | animationWrapMode: 0 37 | extraExposedTransformPaths: [] 38 | extraUserProperties: [] 39 | clipAnimations: [] 40 | isReadable: 0 41 | meshes: 42 | lODScreenPercentages: [] 43 | globalScale: 1 44 | meshCompression: 0 45 | addColliders: 0 46 | useSRGBMaterialColor: 1 47 | sortHierarchyByName: 1 48 | importVisibility: 0 49 | importBlendShapes: 0 50 | importCameras: 0 51 | importLights: 0 52 | nodeNameCollisionStrategy: 1 53 | fileIdsGeneration: 2 54 | swapUVChannels: 0 55 | generateSecondaryUV: 0 56 | useFileUnits: 1 57 | keepQuads: 0 58 | weldVertices: 1 59 | bakeAxisConversion: 0 60 | preserveHierarchy: 0 61 | skinWeightsMode: 0 62 | maxBonesPerVertex: 4 63 | minBoneWeight: 0.001 64 | optimizeBones: 1 65 | meshOptimizationFlags: -1 66 | indexFormat: 0 67 | secondaryUVAngleDistortion: 8 68 | secondaryUVAreaDistortion: 15.000001 69 | secondaryUVHardAngle: 88 70 | secondaryUVMarginMethod: 1 71 | secondaryUVMinLightmapResolution: 40 72 | secondaryUVMinObjectScale: 1 73 | secondaryUVPackMargin: 4 74 | useFileScale: 1 75 | tangentSpace: 76 | normalSmoothAngle: 60 77 | normalImportMode: 0 78 | tangentImportMode: 3 79 | normalCalculationMode: 4 80 | legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 81 | blendShapeNormalImportMode: 1 82 | normalSmoothingSource: 0 83 | referencedClips: [] 84 | importAnimation: 1 85 | humanDescription: 86 | serializedVersion: 3 87 | human: [] 88 | skeleton: [] 89 | armTwist: 0.5 90 | foreArmTwist: 0.5 91 | upperLegTwist: 0.5 92 | legTwist: 0.5 93 | armStretch: 0.05 94 | legStretch: 0.05 95 | feetSpacing: 0 96 | globalScale: 1 97 | rootMotionBoneName: 98 | hasTranslationDoF: 0 99 | hasExtraRoot: 0 100 | skeletonHasParents: 1 101 | lastHumanDescriptionAvatarSource: {instanceID: 0} 102 | autoGenerateAvatarMappingIfUnspecified: 1 103 | animationType: 2 104 | humanoidOversampling: 1 105 | avatarSetup: 0 106 | addHumanoidExtraRootOnlyWhenUsingAvatar: 1 107 | remapMaterialsIfMaterialImportModeIsNone: 0 108 | additionalBone: 0 109 | userData: 110 | assetBundleName: 111 | assetBundleVariant: 112 | -------------------------------------------------------------------------------- /unity/Assets/Models/WoodenBlocks/WoodCubeModel.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/croquet/croquet-for-unity-tutorials/cd864767ea529927fd509bd7b72e54ba179e99b6/unity/Assets/Models/WoodenBlocks/WoodCubeModel.fbx -------------------------------------------------------------------------------- /unity/Assets/Models/WoodenBlocks/WoodCubeModel.fbx.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1ccdb3b24606d544794c2a8a49f659c0 3 | ModelImporter: 4 | serializedVersion: 21300 5 | internalIDToNameTable: [] 6 | externalObjects: 7 | - first: 8 | type: UnityEngine:Material 9 | assembly: UnityEngine.CoreModule 10 | name: Cube 11 | second: {fileID: 2100000, guid: fdb8e9746e99148548baca5ce86e1b7c, type: 2} 12 | materials: 13 | materialImportMode: 2 14 | materialName: 0 15 | materialSearch: 1 16 | materialLocation: 1 17 | animations: 18 | legacyGenerateAnimations: 4 19 | bakeSimulation: 0 20 | resampleCurves: 1 21 | optimizeGameObjects: 0 22 | removeConstantScaleCurves: 1 23 | motionNodeName: 24 | rigImportErrors: 25 | rigImportWarnings: 26 | animationImportErrors: 27 | animationImportWarnings: 28 | animationRetargetingWarnings: 29 | animationDoRetargetingWarnings: 0 30 | importAnimatedCustomProperties: 0 31 | importConstraints: 0 32 | animationCompression: 1 33 | animationRotationError: 0.5 34 | animationPositionError: 0.5 35 | animationScaleError: 0.5 36 | animationWrapMode: 0 37 | extraExposedTransformPaths: [] 38 | extraUserProperties: [] 39 | clipAnimations: [] 40 | isReadable: 0 41 | meshes: 42 | lODScreenPercentages: [] 43 | globalScale: 1 44 | meshCompression: 0 45 | addColliders: 0 46 | useSRGBMaterialColor: 1 47 | sortHierarchyByName: 1 48 | importVisibility: 0 49 | importBlendShapes: 0 50 | importCameras: 0 51 | importLights: 0 52 | nodeNameCollisionStrategy: 1 53 | fileIdsGeneration: 2 54 | swapUVChannels: 0 55 | generateSecondaryUV: 0 56 | useFileUnits: 1 57 | keepQuads: 0 58 | weldVertices: 1 59 | bakeAxisConversion: 0 60 | preserveHierarchy: 0 61 | skinWeightsMode: 0 62 | maxBonesPerVertex: 4 63 | minBoneWeight: 0.001 64 | optimizeBones: 1 65 | meshOptimizationFlags: -1 66 | indexFormat: 0 67 | secondaryUVAngleDistortion: 8 68 | secondaryUVAreaDistortion: 15.000001 69 | secondaryUVHardAngle: 88 70 | secondaryUVMarginMethod: 1 71 | secondaryUVMinLightmapResolution: 40 72 | secondaryUVMinObjectScale: 1 73 | secondaryUVPackMargin: 4 74 | useFileScale: 0 75 | tangentSpace: 76 | normalSmoothAngle: 60 77 | normalImportMode: 0 78 | tangentImportMode: 3 79 | normalCalculationMode: 4 80 | legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 81 | blendShapeNormalImportMode: 1 82 | normalSmoothingSource: 0 83 | referencedClips: [] 84 | importAnimation: 0 85 | humanDescription: 86 | serializedVersion: 3 87 | human: [] 88 | skeleton: [] 89 | armTwist: 0.5 90 | foreArmTwist: 0.5 91 | upperLegTwist: 0.5 92 | legTwist: 0.5 93 | armStretch: 0.05 94 | legStretch: 0.05 95 | feetSpacing: 0 96 | globalScale: 1 97 | rootMotionBoneName: 98 | hasTranslationDoF: 0 99 | hasExtraRoot: 0 100 | skeletonHasParents: 1 101 | lastHumanDescriptionAvatarSource: {instanceID: 0} 102 | autoGenerateAvatarMappingIfUnspecified: 1 103 | animationType: 0 104 | humanoidOversampling: 1 105 | avatarSetup: 0 106 | addHumanoidExtraRootOnlyWhenUsingAvatar: 1 107 | remapMaterialsIfMaterialImportModeIsNone: 0 108 | additionalBone: 0 109 | userData: 110 | assetBundleName: 111 | assetBundleVariant: 112 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 344dea980faba4da6ab0f8222b67dc7c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/Tutorials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe2dc047f5377486da5f08c6a798195a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/Tutorials/basicCube.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &6425473862224254775 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 3750203643837455783} 12 | - component: {fileID: 4436577965603592717} 13 | - component: {fileID: 3888311511635664395} 14 | m_Layer: 0 15 | m_Name: Cube 16 | m_TagString: Untagged 17 | m_Icon: {fileID: 0} 18 | m_NavMeshLayer: 0 19 | m_StaticEditorFlags: 0 20 | m_IsActive: 1 21 | --- !u!4 &3750203643837455783 22 | Transform: 23 | m_ObjectHideFlags: 0 24 | m_CorrespondingSourceObject: {fileID: 0} 25 | m_PrefabInstance: {fileID: 0} 26 | m_PrefabAsset: {fileID: 0} 27 | m_GameObject: {fileID: 6425473862224254775} 28 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 29 | m_LocalPosition: {x: 0, y: 0, z: 0} 30 | m_LocalScale: {x: 1, y: 1, z: 1} 31 | m_ConstrainProportionsScale: 0 32 | m_Children: [] 33 | m_Father: {fileID: 1866255233583801944} 34 | m_RootOrder: 0 35 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 36 | --- !u!33 &4436577965603592717 37 | MeshFilter: 38 | m_ObjectHideFlags: 0 39 | m_CorrespondingSourceObject: {fileID: 0} 40 | m_PrefabInstance: {fileID: 0} 41 | m_PrefabAsset: {fileID: 0} 42 | m_GameObject: {fileID: 6425473862224254775} 43 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 44 | --- !u!23 &3888311511635664395 45 | MeshRenderer: 46 | m_ObjectHideFlags: 0 47 | m_CorrespondingSourceObject: {fileID: 0} 48 | m_PrefabInstance: {fileID: 0} 49 | m_PrefabAsset: {fileID: 0} 50 | m_GameObject: {fileID: 6425473862224254775} 51 | m_Enabled: 1 52 | m_CastShadows: 1 53 | m_ReceiveShadows: 1 54 | m_DynamicOccludee: 1 55 | m_StaticShadowCaster: 0 56 | m_MotionVectors: 1 57 | m_LightProbeUsage: 1 58 | m_ReflectionProbeUsage: 1 59 | m_RayTracingMode: 2 60 | m_RayTraceProcedural: 0 61 | m_RenderingLayerMask: 1 62 | m_RendererPriority: 0 63 | m_Materials: 64 | - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} 65 | m_StaticBatchInfo: 66 | firstSubMesh: 0 67 | subMeshCount: 0 68 | m_StaticBatchRoot: {fileID: 0} 69 | m_ProbeAnchor: {fileID: 0} 70 | m_LightProbeVolumeOverride: {fileID: 0} 71 | m_ScaleInLightmap: 1 72 | m_ReceiveGI: 1 73 | m_PreserveUVs: 0 74 | m_IgnoreNormalsForChartDetection: 0 75 | m_ImportantGI: 0 76 | m_StitchLightmapSeams: 1 77 | m_SelectedEditorRenderState: 3 78 | m_MinimumChartSize: 4 79 | m_AutoUVMaxDistance: 0.5 80 | m_AutoUVMaxAngle: 89 81 | m_LightmapParameters: {fileID: 0} 82 | m_SortingLayerID: 0 83 | m_SortingLayer: 0 84 | m_SortingOrder: 0 85 | m_AdditionalVertexStreams: {fileID: 0} 86 | --- !u!1 &8330932475455285437 87 | GameObject: 88 | m_ObjectHideFlags: 0 89 | m_CorrespondingSourceObject: {fileID: 0} 90 | m_PrefabInstance: {fileID: 0} 91 | m_PrefabAsset: {fileID: 0} 92 | serializedVersion: 6 93 | m_Component: 94 | - component: {fileID: 1866255233583801944} 95 | - component: {fileID: 5991995277913917247} 96 | m_Layer: 0 97 | m_Name: basicCube 98 | m_TagString: Untagged 99 | m_Icon: {fileID: 0} 100 | m_NavMeshLayer: 0 101 | m_StaticEditorFlags: 0 102 | m_IsActive: 1 103 | --- !u!4 &1866255233583801944 104 | Transform: 105 | m_ObjectHideFlags: 0 106 | m_CorrespondingSourceObject: {fileID: 0} 107 | m_PrefabInstance: {fileID: 0} 108 | m_PrefabAsset: {fileID: 0} 109 | m_GameObject: {fileID: 8330932475455285437} 110 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 111 | m_LocalPosition: {x: 0, y: 0, z: 0} 112 | m_LocalScale: {x: 1, y: 1, z: 1} 113 | m_ConstrainProportionsScale: 0 114 | m_Children: 115 | - {fileID: 3750203643837455783} 116 | m_Father: {fileID: 0} 117 | m_RootOrder: 0 118 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 119 | --- !u!114 &5991995277913917247 120 | MonoBehaviour: 121 | m_ObjectHideFlags: 0 122 | m_CorrespondingSourceObject: {fileID: 0} 123 | m_PrefabInstance: {fileID: 0} 124 | m_PrefabAsset: {fileID: 0} 125 | m_GameObject: {fileID: 8330932475455285437} 126 | m_Enabled: 1 127 | m_EditorHideFlags: 0 128 | m_Script: {fileID: 11500000, guid: fe750c9735f1c4d079e419ab461df5b2, type: 3} 129 | m_Name: 130 | m_EditorClassIdentifier: 131 | pawnType: basicCube 132 | defaultActorClass: 133 | mixins: 134 | - Spatial 135 | staticProperties: [] 136 | watchedProperties: [] 137 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/Tutorials/basicCube.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aaec8e24ba41f4fcdbb4496de825be20 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/Tutorials/colorableCube.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &6425473862224254775 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 3750203643837455783} 12 | - component: {fileID: 4436577965603592717} 13 | - component: {fileID: 3888311511635664395} 14 | m_Layer: 0 15 | m_Name: Cube 16 | m_TagString: Untagged 17 | m_Icon: {fileID: 0} 18 | m_NavMeshLayer: 0 19 | m_StaticEditorFlags: 0 20 | m_IsActive: 1 21 | --- !u!4 &3750203643837455783 22 | Transform: 23 | m_ObjectHideFlags: 0 24 | m_CorrespondingSourceObject: {fileID: 0} 25 | m_PrefabInstance: {fileID: 0} 26 | m_PrefabAsset: {fileID: 0} 27 | m_GameObject: {fileID: 6425473862224254775} 28 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 29 | m_LocalPosition: {x: 0, y: 0, z: 0} 30 | m_LocalScale: {x: 1, y: 1, z: 1} 31 | m_ConstrainProportionsScale: 0 32 | m_Children: [] 33 | m_Father: {fileID: 1866255233583801944} 34 | m_RootOrder: 0 35 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 36 | --- !u!33 &4436577965603592717 37 | MeshFilter: 38 | m_ObjectHideFlags: 0 39 | m_CorrespondingSourceObject: {fileID: 0} 40 | m_PrefabInstance: {fileID: 0} 41 | m_PrefabAsset: {fileID: 0} 42 | m_GameObject: {fileID: 6425473862224254775} 43 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 44 | --- !u!23 &3888311511635664395 45 | MeshRenderer: 46 | m_ObjectHideFlags: 0 47 | m_CorrespondingSourceObject: {fileID: 0} 48 | m_PrefabInstance: {fileID: 0} 49 | m_PrefabAsset: {fileID: 0} 50 | m_GameObject: {fileID: 6425473862224254775} 51 | m_Enabled: 1 52 | m_CastShadows: 1 53 | m_ReceiveShadows: 1 54 | m_DynamicOccludee: 1 55 | m_StaticShadowCaster: 0 56 | m_MotionVectors: 1 57 | m_LightProbeUsage: 1 58 | m_ReflectionProbeUsage: 1 59 | m_RayTracingMode: 2 60 | m_RayTraceProcedural: 0 61 | m_RenderingLayerMask: 1 62 | m_RendererPriority: 0 63 | m_Materials: 64 | - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} 65 | m_StaticBatchInfo: 66 | firstSubMesh: 0 67 | subMeshCount: 0 68 | m_StaticBatchRoot: {fileID: 0} 69 | m_ProbeAnchor: {fileID: 0} 70 | m_LightProbeVolumeOverride: {fileID: 0} 71 | m_ScaleInLightmap: 1 72 | m_ReceiveGI: 1 73 | m_PreserveUVs: 0 74 | m_IgnoreNormalsForChartDetection: 0 75 | m_ImportantGI: 0 76 | m_StitchLightmapSeams: 1 77 | m_SelectedEditorRenderState: 3 78 | m_MinimumChartSize: 4 79 | m_AutoUVMaxDistance: 0.5 80 | m_AutoUVMaxAngle: 89 81 | m_LightmapParameters: {fileID: 0} 82 | m_SortingLayerID: 0 83 | m_SortingLayer: 0 84 | m_SortingOrder: 0 85 | m_AdditionalVertexStreams: {fileID: 0} 86 | --- !u!1 &8330932475455285437 87 | GameObject: 88 | m_ObjectHideFlags: 0 89 | m_CorrespondingSourceObject: {fileID: 0} 90 | m_PrefabInstance: {fileID: 0} 91 | m_PrefabAsset: {fileID: 0} 92 | serializedVersion: 6 93 | m_Component: 94 | - component: {fileID: 1866255233583801944} 95 | - component: {fileID: 5991995277913917247} 96 | m_Layer: 0 97 | m_Name: colorableCube 98 | m_TagString: Untagged 99 | m_Icon: {fileID: 0} 100 | m_NavMeshLayer: 0 101 | m_StaticEditorFlags: 0 102 | m_IsActive: 1 103 | --- !u!4 &1866255233583801944 104 | Transform: 105 | m_ObjectHideFlags: 0 106 | m_CorrespondingSourceObject: {fileID: 0} 107 | m_PrefabInstance: {fileID: 0} 108 | m_PrefabAsset: {fileID: 0} 109 | m_GameObject: {fileID: 8330932475455285437} 110 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 111 | m_LocalPosition: {x: 0, y: 0, z: 0} 112 | m_LocalScale: {x: 1, y: 1, z: 1} 113 | m_ConstrainProportionsScale: 0 114 | m_Children: 115 | - {fileID: 3750203643837455783} 116 | m_Father: {fileID: 0} 117 | m_RootOrder: 0 118 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 119 | --- !u!114 &5991995277913917247 120 | MonoBehaviour: 121 | m_ObjectHideFlags: 0 122 | m_CorrespondingSourceObject: {fileID: 0} 123 | m_PrefabInstance: {fileID: 0} 124 | m_PrefabAsset: {fileID: 0} 125 | m_GameObject: {fileID: 8330932475455285437} 126 | m_Enabled: 1 127 | m_EditorHideFlags: 0 128 | m_Script: {fileID: 11500000, guid: fe750c9735f1c4d079e419ab461df5b2, type: 3} 129 | m_Name: 130 | m_EditorClassIdentifier: 131 | pawnType: colorableCube 132 | defaultActorClass: 133 | mixins: 134 | - Smoothed 135 | - Material 136 | staticProperties: [] 137 | watchedProperties: 138 | - color 139 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/Tutorials/colorableCube.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 78e641be5a5a64ba1b3cf7613b5c36e5 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/Tutorials/groundPlane.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &3919986360764292849 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 6516842241868768712} 12 | - component: {fileID: 222599472176174032} 13 | m_Layer: 0 14 | m_Name: groundPlane 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &6516842241868768712 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 3919986360764292849} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: 0, y: 0, z: 0} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_ConstrainProportionsScale: 0 31 | m_Children: 32 | - {fileID: 4540269818531533333} 33 | m_Father: {fileID: 0} 34 | m_RootOrder: 0 35 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 36 | --- !u!114 &222599472176174032 37 | MonoBehaviour: 38 | m_ObjectHideFlags: 0 39 | m_CorrespondingSourceObject: {fileID: 0} 40 | m_PrefabInstance: {fileID: 0} 41 | m_PrefabAsset: {fileID: 0} 42 | m_GameObject: {fileID: 3919986360764292849} 43 | m_Enabled: 1 44 | m_EditorHideFlags: 0 45 | m_Script: {fileID: 11500000, guid: fe750c9735f1c4d079e419ab461df5b2, type: 3} 46 | m_Name: 47 | m_EditorClassIdentifier: 48 | pawnType: groundPlane 49 | defaultActorClass: 50 | mixins: 51 | - Spatial 52 | - Interactable 53 | staticProperties: [] 54 | watchedProperties: [] 55 | --- !u!1 &4723118699679084920 56 | GameObject: 57 | m_ObjectHideFlags: 0 58 | m_CorrespondingSourceObject: {fileID: 0} 59 | m_PrefabInstance: {fileID: 0} 60 | m_PrefabAsset: {fileID: 0} 61 | serializedVersion: 6 62 | m_Component: 63 | - component: {fileID: 4540269818531533333} 64 | - component: {fileID: 3130519988125796592} 65 | - component: {fileID: 7163589697578346466} 66 | - component: {fileID: 8744689068940464920} 67 | m_Layer: 0 68 | m_Name: Plane 69 | m_TagString: Untagged 70 | m_Icon: {fileID: 0} 71 | m_NavMeshLayer: 0 72 | m_StaticEditorFlags: 0 73 | m_IsActive: 1 74 | --- !u!4 &4540269818531533333 75 | Transform: 76 | m_ObjectHideFlags: 0 77 | m_CorrespondingSourceObject: {fileID: 0} 78 | m_PrefabInstance: {fileID: 0} 79 | m_PrefabAsset: {fileID: 0} 80 | m_GameObject: {fileID: 4723118699679084920} 81 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 82 | m_LocalPosition: {x: 0, y: 0, z: 0} 83 | m_LocalScale: {x: 10, y: 1, z: 10} 84 | m_ConstrainProportionsScale: 0 85 | m_Children: [] 86 | m_Father: {fileID: 6516842241868768712} 87 | m_RootOrder: 0 88 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 89 | --- !u!33 &3130519988125796592 90 | MeshFilter: 91 | m_ObjectHideFlags: 0 92 | m_CorrespondingSourceObject: {fileID: 0} 93 | m_PrefabInstance: {fileID: 0} 94 | m_PrefabAsset: {fileID: 0} 95 | m_GameObject: {fileID: 4723118699679084920} 96 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 97 | --- !u!23 &7163589697578346466 98 | MeshRenderer: 99 | m_ObjectHideFlags: 0 100 | m_CorrespondingSourceObject: {fileID: 0} 101 | m_PrefabInstance: {fileID: 0} 102 | m_PrefabAsset: {fileID: 0} 103 | m_GameObject: {fileID: 4723118699679084920} 104 | m_Enabled: 1 105 | m_CastShadows: 1 106 | m_ReceiveShadows: 1 107 | m_DynamicOccludee: 1 108 | m_StaticShadowCaster: 0 109 | m_MotionVectors: 1 110 | m_LightProbeUsage: 1 111 | m_ReflectionProbeUsage: 1 112 | m_RayTracingMode: 2 113 | m_RayTraceProcedural: 0 114 | m_RenderingLayerMask: 1 115 | m_RendererPriority: 0 116 | m_Materials: 117 | - {fileID: 2100000, guid: 50f9f97754a324825ace0d056c32b69d, type: 2} 118 | m_StaticBatchInfo: 119 | firstSubMesh: 0 120 | subMeshCount: 0 121 | m_StaticBatchRoot: {fileID: 0} 122 | m_ProbeAnchor: {fileID: 0} 123 | m_LightProbeVolumeOverride: {fileID: 0} 124 | m_ScaleInLightmap: 1 125 | m_ReceiveGI: 1 126 | m_PreserveUVs: 0 127 | m_IgnoreNormalsForChartDetection: 0 128 | m_ImportantGI: 0 129 | m_StitchLightmapSeams: 1 130 | m_SelectedEditorRenderState: 3 131 | m_MinimumChartSize: 4 132 | m_AutoUVMaxDistance: 0.5 133 | m_AutoUVMaxAngle: 89 134 | m_LightmapParameters: {fileID: 0} 135 | m_SortingLayerID: 0 136 | m_SortingLayer: 0 137 | m_SortingOrder: 0 138 | m_AdditionalVertexStreams: {fileID: 0} 139 | --- !u!64 &8744689068940464920 140 | MeshCollider: 141 | m_ObjectHideFlags: 0 142 | m_CorrespondingSourceObject: {fileID: 0} 143 | m_PrefabInstance: {fileID: 0} 144 | m_PrefabAsset: {fileID: 0} 145 | m_GameObject: {fileID: 4723118699679084920} 146 | m_Material: {fileID: 0} 147 | m_IsTrigger: 0 148 | m_Enabled: 1 149 | serializedVersion: 4 150 | m_Convex: 0 151 | m_CookingOptions: 30 152 | m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} 153 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/Tutorials/groundPlane.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2cf569cbd24764b23bab2be8a63b1dab 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/Tutorials/interactableCube.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &6425473862224254775 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 3750203643837455783} 12 | - component: {fileID: 4436577965603592717} 13 | - component: {fileID: 3888311511635664395} 14 | m_Layer: 0 15 | m_Name: Cube 16 | m_TagString: Untagged 17 | m_Icon: {fileID: 0} 18 | m_NavMeshLayer: 0 19 | m_StaticEditorFlags: 0 20 | m_IsActive: 1 21 | --- !u!4 &3750203643837455783 22 | Transform: 23 | m_ObjectHideFlags: 0 24 | m_CorrespondingSourceObject: {fileID: 0} 25 | m_PrefabInstance: {fileID: 0} 26 | m_PrefabAsset: {fileID: 0} 27 | m_GameObject: {fileID: 6425473862224254775} 28 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 29 | m_LocalPosition: {x: 0, y: 0, z: 0} 30 | m_LocalScale: {x: 1, y: 1, z: 1} 31 | m_ConstrainProportionsScale: 0 32 | m_Children: [] 33 | m_Father: {fileID: 1866255233583801944} 34 | m_RootOrder: 0 35 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 36 | --- !u!33 &4436577965603592717 37 | MeshFilter: 38 | m_ObjectHideFlags: 0 39 | m_CorrespondingSourceObject: {fileID: 0} 40 | m_PrefabInstance: {fileID: 0} 41 | m_PrefabAsset: {fileID: 0} 42 | m_GameObject: {fileID: 6425473862224254775} 43 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 44 | --- !u!23 &3888311511635664395 45 | MeshRenderer: 46 | m_ObjectHideFlags: 0 47 | m_CorrespondingSourceObject: {fileID: 0} 48 | m_PrefabInstance: {fileID: 0} 49 | m_PrefabAsset: {fileID: 0} 50 | m_GameObject: {fileID: 6425473862224254775} 51 | m_Enabled: 1 52 | m_CastShadows: 1 53 | m_ReceiveShadows: 1 54 | m_DynamicOccludee: 1 55 | m_StaticShadowCaster: 0 56 | m_MotionVectors: 1 57 | m_LightProbeUsage: 1 58 | m_ReflectionProbeUsage: 1 59 | m_RayTracingMode: 2 60 | m_RayTraceProcedural: 0 61 | m_RenderingLayerMask: 1 62 | m_RendererPriority: 0 63 | m_Materials: 64 | - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} 65 | m_StaticBatchInfo: 66 | firstSubMesh: 0 67 | subMeshCount: 0 68 | m_StaticBatchRoot: {fileID: 0} 69 | m_ProbeAnchor: {fileID: 0} 70 | m_LightProbeVolumeOverride: {fileID: 0} 71 | m_ScaleInLightmap: 1 72 | m_ReceiveGI: 1 73 | m_PreserveUVs: 0 74 | m_IgnoreNormalsForChartDetection: 0 75 | m_ImportantGI: 0 76 | m_StitchLightmapSeams: 1 77 | m_SelectedEditorRenderState: 3 78 | m_MinimumChartSize: 4 79 | m_AutoUVMaxDistance: 0.5 80 | m_AutoUVMaxAngle: 89 81 | m_LightmapParameters: {fileID: 0} 82 | m_SortingLayerID: 0 83 | m_SortingLayer: 0 84 | m_SortingOrder: 0 85 | m_AdditionalVertexStreams: {fileID: 0} 86 | --- !u!1 &8330932475455285437 87 | GameObject: 88 | m_ObjectHideFlags: 0 89 | m_CorrespondingSourceObject: {fileID: 0} 90 | m_PrefabInstance: {fileID: 0} 91 | m_PrefabAsset: {fileID: 0} 92 | serializedVersion: 6 93 | m_Component: 94 | - component: {fileID: 1866255233583801944} 95 | - component: {fileID: 8775638636099583222} 96 | - component: {fileID: 5991995277913917247} 97 | m_Layer: 0 98 | m_Name: interactableCube 99 | m_TagString: Untagged 100 | m_Icon: {fileID: 0} 101 | m_NavMeshLayer: 0 102 | m_StaticEditorFlags: 0 103 | m_IsActive: 1 104 | --- !u!4 &1866255233583801944 105 | Transform: 106 | m_ObjectHideFlags: 0 107 | m_CorrespondingSourceObject: {fileID: 0} 108 | m_PrefabInstance: {fileID: 0} 109 | m_PrefabAsset: {fileID: 0} 110 | m_GameObject: {fileID: 8330932475455285437} 111 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 112 | m_LocalPosition: {x: 0, y: 0, z: 0} 113 | m_LocalScale: {x: 1, y: 1, z: 1} 114 | m_ConstrainProportionsScale: 0 115 | m_Children: 116 | - {fileID: 3750203643837455783} 117 | m_Father: {fileID: 0} 118 | m_RootOrder: 0 119 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 120 | --- !u!65 &8775638636099583222 121 | BoxCollider: 122 | m_ObjectHideFlags: 0 123 | m_CorrespondingSourceObject: {fileID: 0} 124 | m_PrefabInstance: {fileID: 0} 125 | m_PrefabAsset: {fileID: 0} 126 | m_GameObject: {fileID: 8330932475455285437} 127 | m_Material: {fileID: 0} 128 | m_IsTrigger: 0 129 | m_Enabled: 1 130 | serializedVersion: 2 131 | m_Size: {x: 1, y: 1, z: 1} 132 | m_Center: {x: 0, y: 0, z: 0} 133 | --- !u!114 &5991995277913917247 134 | MonoBehaviour: 135 | m_ObjectHideFlags: 0 136 | m_CorrespondingSourceObject: {fileID: 0} 137 | m_PrefabInstance: {fileID: 0} 138 | m_PrefabAsset: {fileID: 0} 139 | m_GameObject: {fileID: 8330932475455285437} 140 | m_Enabled: 1 141 | m_EditorHideFlags: 0 142 | m_Script: {fileID: 11500000, guid: fe750c9735f1c4d079e419ab461df5b2, type: 3} 143 | m_Name: 144 | m_EditorClassIdentifier: 145 | pawnType: interactableCube 146 | defaultActorClass: 147 | mixins: 148 | - Smoothed 149 | - Interactable 150 | staticProperties: [] 151 | watchedProperties: [] 152 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/Tutorials/interactableCube.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 773aec16c560c4a4a81b374be2a86d86 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/Tutorials/smoothedCube.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &6425473862224254775 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 3750203643837455783} 12 | - component: {fileID: 4436577965603592717} 13 | - component: {fileID: 3888311511635664395} 14 | m_Layer: 0 15 | m_Name: Cube 16 | m_TagString: Untagged 17 | m_Icon: {fileID: 0} 18 | m_NavMeshLayer: 0 19 | m_StaticEditorFlags: 0 20 | m_IsActive: 1 21 | --- !u!4 &3750203643837455783 22 | Transform: 23 | m_ObjectHideFlags: 0 24 | m_CorrespondingSourceObject: {fileID: 0} 25 | m_PrefabInstance: {fileID: 0} 26 | m_PrefabAsset: {fileID: 0} 27 | m_GameObject: {fileID: 6425473862224254775} 28 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 29 | m_LocalPosition: {x: 0, y: 0, z: 0} 30 | m_LocalScale: {x: 1, y: 1, z: 1} 31 | m_ConstrainProportionsScale: 0 32 | m_Children: [] 33 | m_Father: {fileID: 1866255233583801944} 34 | m_RootOrder: 0 35 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 36 | --- !u!33 &4436577965603592717 37 | MeshFilter: 38 | m_ObjectHideFlags: 0 39 | m_CorrespondingSourceObject: {fileID: 0} 40 | m_PrefabInstance: {fileID: 0} 41 | m_PrefabAsset: {fileID: 0} 42 | m_GameObject: {fileID: 6425473862224254775} 43 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 44 | --- !u!23 &3888311511635664395 45 | MeshRenderer: 46 | m_ObjectHideFlags: 0 47 | m_CorrespondingSourceObject: {fileID: 0} 48 | m_PrefabInstance: {fileID: 0} 49 | m_PrefabAsset: {fileID: 0} 50 | m_GameObject: {fileID: 6425473862224254775} 51 | m_Enabled: 1 52 | m_CastShadows: 1 53 | m_ReceiveShadows: 1 54 | m_DynamicOccludee: 1 55 | m_StaticShadowCaster: 0 56 | m_MotionVectors: 1 57 | m_LightProbeUsage: 1 58 | m_ReflectionProbeUsage: 1 59 | m_RayTracingMode: 2 60 | m_RayTraceProcedural: 0 61 | m_RenderingLayerMask: 1 62 | m_RendererPriority: 0 63 | m_Materials: 64 | - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} 65 | m_StaticBatchInfo: 66 | firstSubMesh: 0 67 | subMeshCount: 0 68 | m_StaticBatchRoot: {fileID: 0} 69 | m_ProbeAnchor: {fileID: 0} 70 | m_LightProbeVolumeOverride: {fileID: 0} 71 | m_ScaleInLightmap: 1 72 | m_ReceiveGI: 1 73 | m_PreserveUVs: 0 74 | m_IgnoreNormalsForChartDetection: 0 75 | m_ImportantGI: 0 76 | m_StitchLightmapSeams: 1 77 | m_SelectedEditorRenderState: 3 78 | m_MinimumChartSize: 4 79 | m_AutoUVMaxDistance: 0.5 80 | m_AutoUVMaxAngle: 89 81 | m_LightmapParameters: {fileID: 0} 82 | m_SortingLayerID: 0 83 | m_SortingLayer: 0 84 | m_SortingOrder: 0 85 | m_AdditionalVertexStreams: {fileID: 0} 86 | --- !u!1 &8330932475455285437 87 | GameObject: 88 | m_ObjectHideFlags: 0 89 | m_CorrespondingSourceObject: {fileID: 0} 90 | m_PrefabInstance: {fileID: 0} 91 | m_PrefabAsset: {fileID: 0} 92 | serializedVersion: 6 93 | m_Component: 94 | - component: {fileID: 1866255233583801944} 95 | - component: {fileID: 5991995277913917247} 96 | m_Layer: 0 97 | m_Name: smoothedCube 98 | m_TagString: Untagged 99 | m_Icon: {fileID: 0} 100 | m_NavMeshLayer: 0 101 | m_StaticEditorFlags: 0 102 | m_IsActive: 1 103 | --- !u!4 &1866255233583801944 104 | Transform: 105 | m_ObjectHideFlags: 0 106 | m_CorrespondingSourceObject: {fileID: 0} 107 | m_PrefabInstance: {fileID: 0} 108 | m_PrefabAsset: {fileID: 0} 109 | m_GameObject: {fileID: 8330932475455285437} 110 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 111 | m_LocalPosition: {x: 0, y: 0, z: 0} 112 | m_LocalScale: {x: 1, y: 1, z: 1} 113 | m_ConstrainProportionsScale: 0 114 | m_Children: 115 | - {fileID: 3750203643837455783} 116 | m_Father: {fileID: 0} 117 | m_RootOrder: 0 118 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 119 | --- !u!114 &5991995277913917247 120 | MonoBehaviour: 121 | m_ObjectHideFlags: 0 122 | m_CorrespondingSourceObject: {fileID: 0} 123 | m_PrefabInstance: {fileID: 0} 124 | m_PrefabAsset: {fileID: 0} 125 | m_GameObject: {fileID: 8330932475455285437} 126 | m_Enabled: 1 127 | m_EditorHideFlags: 0 128 | m_Script: {fileID: 11500000, guid: fe750c9735f1c4d079e419ab461df5b2, type: 3} 129 | m_Name: 130 | m_EditorClassIdentifier: 131 | pawnType: smoothedCube 132 | defaultActorClass: 133 | mixins: 134 | - Smoothed 135 | staticProperties: [] 136 | watchedProperties: [] 137 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/Tutorials/smoothedCube.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c1613ff204ce04f689f13bb3102ba7a8 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/WoodBlocks.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b616aaef1e30a4ff286068d30344c5c1 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/WoodBlocks/WoodColumn.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &1733904753145427475 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 1733904753145427476} 12 | - component: {fileID: -3317179677228686170} 13 | - component: {fileID: 42176118890698242} 14 | m_Layer: 0 15 | m_Name: WoodColumn 16 | m_TagString: Untagged 17 | m_Icon: {fileID: 0} 18 | m_NavMeshLayer: 0 19 | m_StaticEditorFlags: 0 20 | m_IsActive: 1 21 | --- !u!4 &1733904753145427476 22 | Transform: 23 | m_ObjectHideFlags: 0 24 | m_CorrespondingSourceObject: {fileID: 0} 25 | m_PrefabInstance: {fileID: 0} 26 | m_PrefabAsset: {fileID: 0} 27 | m_GameObject: {fileID: 1733904753145427475} 28 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 29 | m_LocalPosition: {x: 0, y: 0, z: 0} 30 | m_LocalScale: {x: 1, y: 1, z: 1} 31 | m_ConstrainProportionsScale: 0 32 | m_Children: 33 | - {fileID: 2277317634044241196} 34 | m_Father: {fileID: 0} 35 | m_RootOrder: 0 36 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 37 | --- !u!65 &-3317179677228686170 38 | BoxCollider: 39 | m_ObjectHideFlags: 0 40 | m_CorrespondingSourceObject: {fileID: 0} 41 | m_PrefabInstance: {fileID: 0} 42 | m_PrefabAsset: {fileID: 0} 43 | m_GameObject: {fileID: 1733904753145427475} 44 | m_Material: {fileID: 0} 45 | m_IsTrigger: 0 46 | m_Enabled: 1 47 | serializedVersion: 2 48 | m_Size: {x: 1, y: 2, z: 1} 49 | m_Center: {x: 0, y: 0, z: 0} 50 | --- !u!114 &42176118890698242 51 | MonoBehaviour: 52 | m_ObjectHideFlags: 0 53 | m_CorrespondingSourceObject: {fileID: 0} 54 | m_PrefabInstance: {fileID: 0} 55 | m_PrefabAsset: {fileID: 0} 56 | m_GameObject: {fileID: 1733904753145427475} 57 | m_Enabled: 1 58 | m_EditorHideFlags: 0 59 | m_Script: {fileID: 11500000, guid: fe750c9735f1c4d079e419ab461df5b2, type: 3} 60 | m_Name: 61 | m_EditorClassIdentifier: 62 | mixins: 63 | - Smoothed 64 | - Material 65 | staticProperties: [] 66 | watchedProperties: 67 | - color 68 | --- !u!1001 &1733904754247844551 69 | PrefabInstance: 70 | m_ObjectHideFlags: 0 71 | serializedVersion: 2 72 | m_Modification: 73 | m_TransformParent: {fileID: 1733904753145427476} 74 | m_Modifications: 75 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 76 | type: 3} 77 | propertyPath: m_RootOrder 78 | value: 0 79 | objectReference: {fileID: 0} 80 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 81 | type: 3} 82 | propertyPath: m_LocalPosition.x 83 | value: 0 84 | objectReference: {fileID: 0} 85 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 86 | type: 3} 87 | propertyPath: m_LocalPosition.y 88 | value: 0 89 | objectReference: {fileID: 0} 90 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 91 | type: 3} 92 | propertyPath: m_LocalPosition.z 93 | value: 0 94 | objectReference: {fileID: 0} 95 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 96 | type: 3} 97 | propertyPath: m_LocalRotation.w 98 | value: 0.7071068 99 | objectReference: {fileID: 0} 100 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 101 | type: 3} 102 | propertyPath: m_LocalRotation.x 103 | value: -0.7071068 104 | objectReference: {fileID: 0} 105 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 106 | type: 3} 107 | propertyPath: m_LocalRotation.y 108 | value: 0 109 | objectReference: {fileID: 0} 110 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 111 | type: 3} 112 | propertyPath: m_LocalRotation.z 113 | value: 0 114 | objectReference: {fileID: 0} 115 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 116 | type: 3} 117 | propertyPath: m_LocalEulerAnglesHint.x 118 | value: -90 119 | objectReference: {fileID: 0} 120 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 121 | type: 3} 122 | propertyPath: m_LocalEulerAnglesHint.y 123 | value: 0 124 | objectReference: {fileID: 0} 125 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 126 | type: 3} 127 | propertyPath: m_LocalEulerAnglesHint.z 128 | value: 0 129 | objectReference: {fileID: 0} 130 | - target: {fileID: 919132149155446097, guid: cc7a006d67298ce4484ad36d9443c953, 131 | type: 3} 132 | propertyPath: m_Name 133 | value: WoodColumnModel 134 | objectReference: {fileID: 0} 135 | m_RemovedComponents: [] 136 | m_SourcePrefab: {fileID: 100100000, guid: cc7a006d67298ce4484ad36d9443c953, type: 3} 137 | --- !u!4 &2277317634044241196 stripped 138 | Transform: 139 | m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 140 | type: 3} 141 | m_PrefabInstance: {fileID: 1733904754247844551} 142 | m_PrefabAsset: {fileID: 0} 143 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/WoodBlocks/WoodColumn.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c7860142b8166774a80931aec25507fe 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/WoodBlocks/WoodCube.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &9189988984234922136 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 9189988984234922137} 12 | - component: {fileID: 5976533874015831447} 13 | - component: {fileID: -3406483136474457105} 14 | m_Layer: 0 15 | m_Name: WoodCube 16 | m_TagString: Untagged 17 | m_Icon: {fileID: 0} 18 | m_NavMeshLayer: 0 19 | m_StaticEditorFlags: 0 20 | m_IsActive: 1 21 | --- !u!4 &9189988984234922137 22 | Transform: 23 | m_ObjectHideFlags: 0 24 | m_CorrespondingSourceObject: {fileID: 0} 25 | m_PrefabInstance: {fileID: 0} 26 | m_PrefabAsset: {fileID: 0} 27 | m_GameObject: {fileID: 9189988984234922136} 28 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 29 | m_LocalPosition: {x: 0, y: 0, z: 0} 30 | m_LocalScale: {x: 1, y: 1, z: 1} 31 | m_ConstrainProportionsScale: 0 32 | m_Children: 33 | - {fileID: 1640997590433195529} 34 | m_Father: {fileID: 0} 35 | m_RootOrder: 0 36 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 37 | --- !u!65 &5976533874015831447 38 | BoxCollider: 39 | m_ObjectHideFlags: 0 40 | m_CorrespondingSourceObject: {fileID: 0} 41 | m_PrefabInstance: {fileID: 0} 42 | m_PrefabAsset: {fileID: 0} 43 | m_GameObject: {fileID: 9189988984234922136} 44 | m_Material: {fileID: 0} 45 | m_IsTrigger: 0 46 | m_Enabled: 1 47 | serializedVersion: 2 48 | m_Size: {x: 1, y: 1, z: 1} 49 | m_Center: {x: 0, y: 0, z: 0} 50 | --- !u!114 &-3406483136474457105 51 | MonoBehaviour: 52 | m_ObjectHideFlags: 0 53 | m_CorrespondingSourceObject: {fileID: 0} 54 | m_PrefabInstance: {fileID: 0} 55 | m_PrefabAsset: {fileID: 0} 56 | m_GameObject: {fileID: 9189988984234922136} 57 | m_Enabled: 1 58 | m_EditorHideFlags: 0 59 | m_Script: {fileID: 11500000, guid: fe750c9735f1c4d079e419ab461df5b2, type: 3} 60 | m_Name: 61 | m_EditorClassIdentifier: 62 | pawnType: woodCube 63 | defaultActorClass: 64 | mixins: 65 | - Smoothed 66 | - Material 67 | - Interactable 68 | staticProperties: [] 69 | watchedProperties: 70 | - color 71 | --- !u!1001 &1247294650439926242 72 | PrefabInstance: 73 | m_ObjectHideFlags: 0 74 | serializedVersion: 2 75 | m_Modification: 76 | m_TransformParent: {fileID: 9189988984234922137} 77 | m_Modifications: 78 | - target: {fileID: -8679921383154817045, guid: 1ccdb3b24606d544794c2a8a49f659c0, 79 | type: 3} 80 | propertyPath: m_RootOrder 81 | value: 0 82 | objectReference: {fileID: 0} 83 | - target: {fileID: -8679921383154817045, guid: 1ccdb3b24606d544794c2a8a49f659c0, 84 | type: 3} 85 | propertyPath: m_LocalScale.x 86 | value: 0.5 87 | objectReference: {fileID: 0} 88 | - target: {fileID: -8679921383154817045, guid: 1ccdb3b24606d544794c2a8a49f659c0, 89 | type: 3} 90 | propertyPath: m_LocalScale.y 91 | value: 0.5 92 | objectReference: {fileID: 0} 93 | - target: {fileID: -8679921383154817045, guid: 1ccdb3b24606d544794c2a8a49f659c0, 94 | type: 3} 95 | propertyPath: m_LocalScale.z 96 | value: 0.5 97 | objectReference: {fileID: 0} 98 | - target: {fileID: -8679921383154817045, guid: 1ccdb3b24606d544794c2a8a49f659c0, 99 | type: 3} 100 | propertyPath: m_LocalPosition.x 101 | value: -0 102 | objectReference: {fileID: 0} 103 | - target: {fileID: -8679921383154817045, guid: 1ccdb3b24606d544794c2a8a49f659c0, 104 | type: 3} 105 | propertyPath: m_LocalPosition.y 106 | value: 0 107 | objectReference: {fileID: 0} 108 | - target: {fileID: -8679921383154817045, guid: 1ccdb3b24606d544794c2a8a49f659c0, 109 | type: 3} 110 | propertyPath: m_LocalPosition.z 111 | value: 0 112 | objectReference: {fileID: 0} 113 | - target: {fileID: -8679921383154817045, guid: 1ccdb3b24606d544794c2a8a49f659c0, 114 | type: 3} 115 | propertyPath: m_LocalRotation.w 116 | value: 0.7071067 117 | objectReference: {fileID: 0} 118 | - target: {fileID: -8679921383154817045, guid: 1ccdb3b24606d544794c2a8a49f659c0, 119 | type: 3} 120 | propertyPath: m_LocalRotation.x 121 | value: -0.7071068 122 | objectReference: {fileID: 0} 123 | - target: {fileID: -8679921383154817045, guid: 1ccdb3b24606d544794c2a8a49f659c0, 124 | type: 3} 125 | propertyPath: m_LocalRotation.y 126 | value: 0 127 | objectReference: {fileID: 0} 128 | - target: {fileID: -8679921383154817045, guid: 1ccdb3b24606d544794c2a8a49f659c0, 129 | type: 3} 130 | propertyPath: m_LocalRotation.z 131 | value: -0 132 | objectReference: {fileID: 0} 133 | - target: {fileID: -8679921383154817045, guid: 1ccdb3b24606d544794c2a8a49f659c0, 134 | type: 3} 135 | propertyPath: m_LocalEulerAnglesHint.x 136 | value: 0 137 | objectReference: {fileID: 0} 138 | - target: {fileID: -8679921383154817045, guid: 1ccdb3b24606d544794c2a8a49f659c0, 139 | type: 3} 140 | propertyPath: m_LocalEulerAnglesHint.y 141 | value: 0 142 | objectReference: {fileID: 0} 143 | - target: {fileID: -8679921383154817045, guid: 1ccdb3b24606d544794c2a8a49f659c0, 144 | type: 3} 145 | propertyPath: m_LocalEulerAnglesHint.z 146 | value: 0 147 | objectReference: {fileID: 0} 148 | - target: {fileID: 919132149155446097, guid: 1ccdb3b24606d544794c2a8a49f659c0, 149 | type: 3} 150 | propertyPath: m_Name 151 | value: LogoCubeModel 152 | objectReference: {fileID: 0} 153 | m_RemovedComponents: [] 154 | m_SourcePrefab: {fileID: 100100000, guid: 1ccdb3b24606d544794c2a8a49f659c0, type: 3} 155 | --- !u!4 &1640997590433195529 stripped 156 | Transform: 157 | m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 1ccdb3b24606d544794c2a8a49f659c0, 158 | type: 3} 159 | m_PrefabInstance: {fileID: 1247294650439926242} 160 | m_PrefabAsset: {fileID: 0} 161 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/WoodBlocks/WoodCube.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d6b5720d36d30406fa312e065ee0a7c1 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/WoodBlocks/tutorial8Avatar.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &1733904753145427475 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 1733904753145427476} 12 | - component: {fileID: 2411925777865388871} 13 | - component: {fileID: 42176118890698242} 14 | m_Layer: 0 15 | m_Name: tutorial8Avatar 16 | m_TagString: Untagged 17 | m_Icon: {fileID: 0} 18 | m_NavMeshLayer: 0 19 | m_StaticEditorFlags: 0 20 | m_IsActive: 1 21 | --- !u!4 &1733904753145427476 22 | Transform: 23 | m_ObjectHideFlags: 0 24 | m_CorrespondingSourceObject: {fileID: 0} 25 | m_PrefabInstance: {fileID: 0} 26 | m_PrefabAsset: {fileID: 0} 27 | m_GameObject: {fileID: 1733904753145427475} 28 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 29 | m_LocalPosition: {x: 0, y: 0, z: 0} 30 | m_LocalScale: {x: 1, y: 1, z: 1} 31 | m_ConstrainProportionsScale: 0 32 | m_Children: 33 | - {fileID: 2277317634044241196} 34 | m_Father: {fileID: 0} 35 | m_RootOrder: 0 36 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 37 | --- !u!114 &2411925777865388871 38 | MonoBehaviour: 39 | m_ObjectHideFlags: 0 40 | m_CorrespondingSourceObject: {fileID: 0} 41 | m_PrefabInstance: {fileID: 0} 42 | m_PrefabAsset: {fileID: 0} 43 | m_GameObject: {fileID: 1733904753145427475} 44 | m_Enabled: 1 45 | m_EditorHideFlags: 0 46 | m_Script: {fileID: 11500000, guid: 748e98befe9b84f809afcbc9c2c8c50b, type: 3} 47 | m_Name: 48 | m_EditorClassIdentifier: 49 | --- !u!114 &42176118890698242 50 | MonoBehaviour: 51 | m_ObjectHideFlags: 0 52 | m_CorrespondingSourceObject: {fileID: 0} 53 | m_PrefabInstance: {fileID: 0} 54 | m_PrefabAsset: {fileID: 0} 55 | m_GameObject: {fileID: 1733904753145427475} 56 | m_Enabled: 1 57 | m_EditorHideFlags: 0 58 | m_Script: {fileID: 11500000, guid: fe750c9735f1c4d079e419ab461df5b2, type: 3} 59 | m_Name: 60 | m_EditorClassIdentifier: 61 | pawnType: tutorial8Avatar 62 | defaultActorClass: 63 | mixins: 64 | - Smoothed 65 | - Material 66 | - Drivable 67 | staticProperties: [] 68 | watchedProperties: 69 | - color 70 | - driver 71 | --- !u!1001 &1733904754247844551 72 | PrefabInstance: 73 | m_ObjectHideFlags: 0 74 | serializedVersion: 2 75 | m_Modification: 76 | m_TransformParent: {fileID: 1733904753145427476} 77 | m_Modifications: 78 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 79 | type: 3} 80 | propertyPath: m_RootOrder 81 | value: 0 82 | objectReference: {fileID: 0} 83 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 84 | type: 3} 85 | propertyPath: m_LocalPosition.x 86 | value: 0 87 | objectReference: {fileID: 0} 88 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 89 | type: 3} 90 | propertyPath: m_LocalPosition.y 91 | value: 0 92 | objectReference: {fileID: 0} 93 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 94 | type: 3} 95 | propertyPath: m_LocalPosition.z 96 | value: 0 97 | objectReference: {fileID: 0} 98 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 99 | type: 3} 100 | propertyPath: m_LocalRotation.w 101 | value: 0.7071068 102 | objectReference: {fileID: 0} 103 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 104 | type: 3} 105 | propertyPath: m_LocalRotation.x 106 | value: -0.7071068 107 | objectReference: {fileID: 0} 108 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 109 | type: 3} 110 | propertyPath: m_LocalRotation.y 111 | value: 0 112 | objectReference: {fileID: 0} 113 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 114 | type: 3} 115 | propertyPath: m_LocalRotation.z 116 | value: 0 117 | objectReference: {fileID: 0} 118 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 119 | type: 3} 120 | propertyPath: m_LocalEulerAnglesHint.x 121 | value: -90 122 | objectReference: {fileID: 0} 123 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 124 | type: 3} 125 | propertyPath: m_LocalEulerAnglesHint.y 126 | value: 0 127 | objectReference: {fileID: 0} 128 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 129 | type: 3} 130 | propertyPath: m_LocalEulerAnglesHint.z 131 | value: 0 132 | objectReference: {fileID: 0} 133 | - target: {fileID: 919132149155446097, guid: cc7a006d67298ce4484ad36d9443c953, 134 | type: 3} 135 | propertyPath: m_Name 136 | value: WoodColumnModel 137 | objectReference: {fileID: 0} 138 | m_RemovedComponents: [] 139 | m_SourcePrefab: {fileID: 100100000, guid: cc7a006d67298ce4484ad36d9443c953, type: 3} 140 | --- !u!4 &2277317634044241196 stripped 141 | Transform: 142 | m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 143 | type: 3} 144 | m_PrefabInstance: {fileID: 1733904754247844551} 145 | m_PrefabAsset: {fileID: 0} 146 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/WoodBlocks/tutorial8Avatar.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fdd6fc2f3a96e48c99e579752e60ffeb 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/WoodBlocks/tutorial9Avatar.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &1733904753145427475 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 1733904753145427476} 12 | - component: {fileID: 3637605696561281739} 13 | - component: {fileID: -6380260667218917957} 14 | - component: {fileID: -2625943198868276020} 15 | - component: {fileID: 42176118890698242} 16 | m_Layer: 0 17 | m_Name: tutorial9Avatar 18 | m_TagString: Untagged 19 | m_Icon: {fileID: 0} 20 | m_NavMeshLayer: 0 21 | m_StaticEditorFlags: 0 22 | m_IsActive: 1 23 | --- !u!4 &1733904753145427476 24 | Transform: 25 | m_ObjectHideFlags: 0 26 | m_CorrespondingSourceObject: {fileID: 0} 27 | m_PrefabInstance: {fileID: 0} 28 | m_PrefabAsset: {fileID: 0} 29 | m_GameObject: {fileID: 1733904753145427475} 30 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 31 | m_LocalPosition: {x: 0, y: 0, z: 0} 32 | m_LocalScale: {x: 1, y: 1, z: 1} 33 | m_ConstrainProportionsScale: 0 34 | m_Children: 35 | - {fileID: 2277317634044241196} 36 | m_Father: {fileID: 0} 37 | m_RootOrder: 0 38 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 39 | --- !u!65 &3637605696561281739 40 | BoxCollider: 41 | m_ObjectHideFlags: 0 42 | m_CorrespondingSourceObject: {fileID: 0} 43 | m_PrefabInstance: {fileID: 0} 44 | m_PrefabAsset: {fileID: 0} 45 | m_GameObject: {fileID: 1733904753145427475} 46 | m_Material: {fileID: 0} 47 | m_IsTrigger: 0 48 | m_Enabled: 1 49 | serializedVersion: 2 50 | m_Size: {x: 1, y: 2, z: 1} 51 | m_Center: {x: 0, y: 0, z: 0} 52 | --- !u!114 &-6380260667218917957 53 | MonoBehaviour: 54 | m_ObjectHideFlags: 0 55 | m_CorrespondingSourceObject: {fileID: 0} 56 | m_PrefabInstance: {fileID: 0} 57 | m_PrefabAsset: {fileID: 0} 58 | m_GameObject: {fileID: 1733904753145427475} 59 | m_Enabled: 1 60 | m_EditorHideFlags: 0 61 | m_Script: {fileID: 11500000, guid: 645445b11275e4e3382e8650847c35da, type: 3} 62 | m_Name: 63 | m_EditorClassIdentifier: 64 | isInteractable: 1 65 | interactableLayers: 66 | - avatar 67 | --- !u!114 &-2625943198868276020 68 | MonoBehaviour: 69 | m_ObjectHideFlags: 0 70 | m_CorrespondingSourceObject: {fileID: 0} 71 | m_PrefabInstance: {fileID: 0} 72 | m_PrefabAsset: {fileID: 0} 73 | m_GameObject: {fileID: 1733904753145427475} 74 | m_Enabled: 1 75 | m_EditorHideFlags: 0 76 | m_Script: {fileID: 11500000, guid: 45b37a6ae17304ac69a1859ce9a2ea8b, type: 3} 77 | m_Name: 78 | m_EditorClassIdentifier: 79 | avatarCamera: {fileID: 0} 80 | --- !u!114 &42176118890698242 81 | MonoBehaviour: 82 | m_ObjectHideFlags: 0 83 | m_CorrespondingSourceObject: {fileID: 0} 84 | m_PrefabInstance: {fileID: 0} 85 | m_PrefabAsset: {fileID: 0} 86 | m_GameObject: {fileID: 1733904753145427475} 87 | m_Enabled: 1 88 | m_EditorHideFlags: 0 89 | m_Script: {fileID: 11500000, guid: fe750c9735f1c4d079e419ab461df5b2, type: 3} 90 | m_Name: 91 | m_EditorClassIdentifier: 92 | pawnType: tutorial9Avatar 93 | defaultActorClass: 94 | mixins: 95 | - Smoothed 96 | - Material 97 | - Interactable 98 | - Drivable 99 | staticProperties: [] 100 | watchedProperties: 101 | - color 102 | - driver 103 | --- !u!1001 &1733904754247844551 104 | PrefabInstance: 105 | m_ObjectHideFlags: 0 106 | serializedVersion: 2 107 | m_Modification: 108 | m_TransformParent: {fileID: 1733904753145427476} 109 | m_Modifications: 110 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 111 | type: 3} 112 | propertyPath: m_RootOrder 113 | value: 0 114 | objectReference: {fileID: 0} 115 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 116 | type: 3} 117 | propertyPath: m_LocalPosition.x 118 | value: 0 119 | objectReference: {fileID: 0} 120 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 121 | type: 3} 122 | propertyPath: m_LocalPosition.y 123 | value: 0 124 | objectReference: {fileID: 0} 125 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 126 | type: 3} 127 | propertyPath: m_LocalPosition.z 128 | value: 0 129 | objectReference: {fileID: 0} 130 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 131 | type: 3} 132 | propertyPath: m_LocalRotation.w 133 | value: 0.7071068 134 | objectReference: {fileID: 0} 135 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 136 | type: 3} 137 | propertyPath: m_LocalRotation.x 138 | value: -0.7071068 139 | objectReference: {fileID: 0} 140 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 141 | type: 3} 142 | propertyPath: m_LocalRotation.y 143 | value: 0 144 | objectReference: {fileID: 0} 145 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 146 | type: 3} 147 | propertyPath: m_LocalRotation.z 148 | value: 0 149 | objectReference: {fileID: 0} 150 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 151 | type: 3} 152 | propertyPath: m_LocalEulerAnglesHint.x 153 | value: -90 154 | objectReference: {fileID: 0} 155 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 156 | type: 3} 157 | propertyPath: m_LocalEulerAnglesHint.y 158 | value: 0 159 | objectReference: {fileID: 0} 160 | - target: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 161 | type: 3} 162 | propertyPath: m_LocalEulerAnglesHint.z 163 | value: 0 164 | objectReference: {fileID: 0} 165 | - target: {fileID: 919132149155446097, guid: cc7a006d67298ce4484ad36d9443c953, 166 | type: 3} 167 | propertyPath: m_Name 168 | value: WoodColumnModel 169 | objectReference: {fileID: 0} 170 | m_RemovedComponents: [] 171 | m_SourcePrefab: {fileID: 100100000, guid: cc7a006d67298ce4484ad36d9443c953, type: 3} 172 | --- !u!4 &2277317634044241196 stripped 173 | Transform: 174 | m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: cc7a006d67298ce4484ad36d9443c953, 175 | type: 3} 176 | m_PrefabInstance: {fileID: 1733904754247844551} 177 | m_PrefabAsset: {fileID: 0} 178 | -------------------------------------------------------------------------------- /unity/Assets/Prefabs/WoodBlocks/tutorial9Avatar.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 575db292ec2ca46709a63c4faf0e759a 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 87c89e85f33c34534bf84645402788f8 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/Scenes/tutorial1.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b674e816d578d439e8dddfb5a92d47bf 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/Scenes/tutorial2.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 87fbe69733250485fb8e8ebab546fef9 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/Scenes/tutorial3.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e92f8a9ec810a4938ab5ade34d1a9699 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/Scenes/tutorial4.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 41a2a40d873b44bbfb3b0fdb05216e57 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/Scenes/tutorial5.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b345e9860a1084d98b482da19e5e3119 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/Scenes/tutorial6.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 65c85244db9c544f4a9d5951e0122a8a 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/Scenes/tutorial7.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: de6eb8714fe67473daa0d84ec006a134 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/Scenes/tutorial8.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5bea7549b0ff14bdbbcd45fd62dfa576 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/Scenes/tutorial9.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 84e3b52f9508943b5815ce7beadd7a20 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity/Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b9d4cb6c6feef4d4183a034936af7987 3 | -------------------------------------------------------------------------------- /unity/Assets/Scripts/AssignFollowCamTarget.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.Serialization; 5 | 6 | public class AssignFollowCamTarget : MonoBehaviour 7 | { 8 | public FollowCam followCamToUpdate; 9 | 10 | void Start() 11 | { 12 | 13 | } 14 | 15 | // Update is called once per frame 16 | void Update() 17 | { 18 | CroquetDrivableComponent a = CroquetDrivableSystem.Instance.GetActiveDrivableComponent(); 19 | 20 | if ( a != null) 21 | { 22 | followCamToUpdate.target = a.transform; 23 | 24 | enabled = false; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /unity/Assets/Scripts/AssignFollowCamTarget.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7f6f5cb32a0294e6188e4ff714fcd014 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /unity/Assets/Scripts/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 46e5e73d42d9447ffa866517a1c807f6 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/Scripts/Editor/EditorFontSize.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c34e1ea8f2d7a4197b475811f83be416 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /unity/Assets/Scripts/FollowCam.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | 6 | public class FollowCam : MonoBehaviour 7 | { 8 | public Transform target; 9 | 10 | public Vector3 followOffset = new Vector3(0.0f, 5.0f, -10f); 11 | public Vector3 rotationOffset = new Vector3(); 12 | public float translationalLerpSpeed = 1.0f; 13 | public float rotationalSlerpSpeed = 1.0f; 14 | 15 | void LateUpdate() 16 | { 17 | if (target) 18 | { 19 | Quaternion targetRot = target.rotation; 20 | Vector3 desiredPosition = target.position + targetRot * followOffset; 21 | Vector3 smoothedPosition = Vector3.Lerp(transform.position, desiredPosition, translationalLerpSpeed); 22 | transform.position = smoothedPosition; 23 | 24 | Quaternion desiredRotation = targetRot * Quaternion.Euler(rotationOffset); 25 | Quaternion smoothedRotation = Quaternion.Lerp(transform.rotation, desiredRotation, rotationalSlerpSpeed); 26 | transform.rotation = smoothedRotation; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /unity/Assets/Scripts/FollowCam.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14e25192317164b718ca56a80f32c6c1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /unity/Assets/Scripts/MouseLookAvatar.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.InputSystem; 3 | 4 | public class MouseLookAvatar : MonoBehaviour 5 | { 6 | public Camera avatarCamera; 7 | 8 | private readonly KeyCode[] keysOfInterest = new KeyCode[] 9 | { 10 | KeyCode.W, KeyCode.A, KeyCode.S, KeyCode.D, KeyCode.UpArrow, KeyCode.LeftArrow, KeyCode.DownArrow, 11 | KeyCode.RightArrow 12 | }; 13 | 14 | private int fore = 0; 15 | private int back = 0; 16 | private int left = 0; 17 | private int right = 0; 18 | 19 | private float yaw = 0; 20 | private float yawDelta = 0; 21 | private float pitch = 0; 22 | 23 | private int croquetHandle; 24 | private CroquetDrivableComponent croquetAvatarComponent; 25 | 26 | private bool isActiveAvatarLastFrame = false; 27 | 28 | void Start() 29 | { 30 | croquetHandle = GetComponent().croquetHandle; 31 | croquetAvatarComponent = gameObject.GetComponent(); 32 | avatarCamera = Camera.main; 33 | } 34 | 35 | void Update() 36 | { 37 | CroquetDrivableComponent activeAvatar = CroquetDrivableSystem.Instance.GetActiveDrivableComponent(); 38 | if (croquetAvatarComponent != activeAvatar) 39 | { 40 | isActiveAvatarLastFrame = false; 41 | return; 42 | } 43 | 44 | if (!isActiveAvatarLastFrame) 45 | { 46 | // being (re)activated. set the local yaw in accordance with where the 47 | // object is now facing, and the camera pitch to the value seen on the camera. 48 | Quaternion q = this.gameObject.transform.localRotation; 49 | yaw = Mathf.Rad2Deg * Mathf.Atan2(2 * q.y * q.w - 2 * q.x * q.z, 1 - 2 * q.y * q.y - 2 * q.z * q.z); 50 | q = avatarCamera.transform.localRotation; 51 | pitch = Mathf.Rad2Deg * Mathf.Atan2(2 * q.x * q.w - 2 * q.y * q.z, 1 - 2 * q.x * q.x - 2 * q.z * q.z); 52 | // Debug.Log($"MouseLookAvatar initial pitch: {pitch}"); 53 | } 54 | 55 | ProcessPointer(); 56 | ProcessKeyboard(); 57 | Drive(); 58 | 59 | isActiveAvatarLastFrame = true; 60 | } 61 | 62 | void ProcessPointer() 63 | { 64 | if (Input.GetMouseButton(1)) 65 | { 66 | /* 67 | // from Worldcore tutorial9 (except we don't set camera yaw): 68 | this.yawDelta += (-0.002 * e.xy[0]); 69 | this.pitch += (-0.002 * e.xy[1]); 70 | this.pitch = Math.max(-Math.PI/2, this.pitch); 71 | this.pitch = Math.min(Math.PI/2, this.pitch); 72 | const pitchQ = q_axisAngle([1,0,0], this.pitch); 73 | const yawQ = q_axisAngle([0,1,0], this.yawDelta); 74 | this.cameraRotation = q_multiply(pitchQ, yawQ); 75 | */ 76 | 77 | // Debug.Log(Pointer.current.delta.ReadValue()); 78 | Vector2 xyDelta = Pointer.current.delta.ReadValue(); 79 | if (xyDelta.x == 0 && xyDelta.y == 0) return; 80 | 81 | // @@ movement ratios currently chosen by trial and error. 82 | // +ve x delta => mouse moving right => object should spin clockwise when 83 | // seen from above, which (in Unity) means a +ve rotation around y. 84 | // +ve y delta => mouse moving up => -ve rotation about x. 85 | yawDelta += (0.01f * Mathf.Rad2Deg * xyDelta.x); // rotations work in opposite sense 86 | pitch += (-0.01f * Mathf.Rad2Deg * xyDelta.y); 87 | pitch = Mathf.Clamp(pitch, -180, 180); 88 | // Debug.Log($"yawDelta {yawDelta} pitch {pitch}"); 89 | Quaternion pitchQ = Quaternion.AngleAxis(pitch, new Vector3(1, 0, 0)); 90 | //avatarCamera.transform.localRotation = pitchQ; 91 | } 92 | } 93 | 94 | void ProcessKeyboard() 95 | { 96 | foreach (var keyCode in keysOfInterest) 97 | { 98 | if (Input.GetKeyDown(keyCode)) HandleKeyDown(keyCode); 99 | if (Input.GetKeyUp(keyCode)) HandleKeyUp(keyCode); 100 | } 101 | } 102 | 103 | void HandleKeyDown(KeyCode keyCode) 104 | { 105 | // Debug.Log($"KeyDown {keyCode}"); 106 | switch (keyCode) 107 | { 108 | case KeyCode.UpArrow: 109 | case KeyCode.W: 110 | fore = 1; // +ve Z 111 | break; 112 | case KeyCode.DownArrow: 113 | case KeyCode.S: 114 | back = -1; // -ve Z 115 | break; 116 | case KeyCode.LeftArrow: 117 | case KeyCode.A: 118 | left = -1; 119 | break; 120 | case KeyCode.RightArrow: 121 | case KeyCode.D: 122 | right = 1; 123 | break; 124 | } 125 | } 126 | 127 | void HandleKeyUp(KeyCode keyCode) 128 | { 129 | switch (keyCode) 130 | { 131 | case KeyCode.UpArrow: 132 | case KeyCode.W: 133 | fore = 0; 134 | break; 135 | case KeyCode.DownArrow: 136 | case KeyCode.S: 137 | back = 0; 138 | break; 139 | case KeyCode.LeftArrow: 140 | case KeyCode.A: 141 | left = 0; 142 | break; 143 | case KeyCode.RightArrow: 144 | case KeyCode.D: 145 | right = 0; 146 | break; 147 | } 148 | } 149 | 150 | void Drive() 151 | { 152 | /* 153 | // from Worldcore tutorial9: 154 | this.yaw += this.yawDelta; 155 | this.yawDelta = 0; 156 | const yawQ = q_axisAngle([0,1,0], this.yaw); 157 | const t = v3_scale([this.left + this.right, 0, (this.fore + this.back)], 5 * delta/1000); 158 | const tt = v3_rotate(t, yawQ); 159 | const translation = v3_add(this.translation, tt); 160 | this.positionTo(translation, yawQ); 161 | */ 162 | 163 | if (right + left == 0 && fore + back == 0 && yawDelta == 0) return; 164 | 165 | yaw += yawDelta; 166 | yawDelta = 0; 167 | // Debug.Log($"{croquetHandle} yaw: {yaw}"); 168 | 169 | Quaternion yawQ = Quaternion.AngleAxis(yaw, new Vector3(0, 1, 0)); 170 | float dt = Time.deltaTime; 171 | Vector3 t = new Vector3(left + right, 0, fore + back) * (10f * dt); 172 | Vector3 tt = yawQ * t; 173 | Transform trans = this.gameObject.transform; 174 | Vector3 newPos = trans.localPosition + tt; 175 | trans.localPosition = newPos; 176 | trans.localRotation = yawQ; 177 | 178 | CroquetSpatialSystem.Instance.DrivePawn(croquetHandle, newPos, yawQ); 179 | CroquetSpatialSystem.Instance.DriveActor(croquetHandle, false, newPos, yawQ); 180 | } 181 | } 182 | -------------------------------------------------------------------------------- /unity/Assets/Scripts/MouseLookAvatar.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45b37a6ae17304ac69a1859ce9a2ea8b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /unity/Assets/Scripts/OverheadAvatar.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | public class OverheadAvatar : MonoBehaviour 4 | { 5 | private readonly KeyCode[] keysOfInterest = new KeyCode[] { KeyCode.W, KeyCode.A, KeyCode.S, KeyCode.D, KeyCode.UpArrow, KeyCode.LeftArrow, KeyCode.DownArrow, KeyCode.RightArrow }; 6 | private int fore = 0; 7 | private int back = 0; 8 | private int left = 0; 9 | private int right = 0; 10 | 11 | private int croquetHandle; 12 | private CroquetDrivableComponent croquetAvatarComponent; 13 | 14 | void Start() 15 | { 16 | croquetHandle = gameObject.GetComponent().croquetHandle; 17 | croquetAvatarComponent = gameObject.GetComponent(); 18 | // Debug.Log($"OverheadAvatar on {croquetHandle}"); 19 | } 20 | 21 | void Update() 22 | { 23 | CroquetDrivableComponent activeAvatar = CroquetDrivableSystem.Instance.GetActiveDrivableComponent(); 24 | if (croquetAvatarComponent != activeAvatar) 25 | { 26 | return; 27 | } 28 | 29 | ProcessKeyboard(); 30 | Drive(); 31 | } 32 | 33 | void ProcessKeyboard() 34 | { 35 | foreach (var keyCode in keysOfInterest) 36 | { 37 | if (Input.GetKeyDown(keyCode)) HandleKeyDown(keyCode); 38 | if (Input.GetKeyUp(keyCode)) HandleKeyUp(keyCode); 39 | } 40 | } 41 | 42 | void HandleKeyDown(KeyCode keyCode) 43 | { 44 | // Debug.Log($"KeyDown {keyCode}"); 45 | switch (keyCode) 46 | { 47 | case KeyCode.UpArrow: 48 | case KeyCode.W: 49 | fore = 1; // +ve Z 50 | break; 51 | case KeyCode.DownArrow: 52 | case KeyCode.S: 53 | back = -1; // -ve Z 54 | break; 55 | case KeyCode.LeftArrow: 56 | case KeyCode.A: 57 | left = -1; 58 | break; 59 | case KeyCode.RightArrow: 60 | case KeyCode.D: 61 | right = 1; 62 | break; 63 | } 64 | } 65 | 66 | void HandleKeyUp(KeyCode keyCode) 67 | { 68 | switch (keyCode) 69 | { 70 | case KeyCode.UpArrow: 71 | case KeyCode.W: 72 | fore = 0; 73 | break; 74 | case KeyCode.DownArrow: 75 | case KeyCode.S: 76 | back = 0; 77 | break; 78 | case KeyCode.LeftArrow: 79 | case KeyCode.A: 80 | left = 0; 81 | break; 82 | case KeyCode.RightArrow: 83 | case KeyCode.D: 84 | right = 0; 85 | break; 86 | } 87 | } 88 | 89 | void Drive() 90 | { 91 | /* 92 | // from Worldcore tutorial8: 93 | const yaw = (this.right+this.left) * -3 * delta/1000; 94 | const yawQ = q_axisAngle([0,1,0], yaw); 95 | const rotation = q_multiply(this.rotation, yawQ); 96 | const t = v3_scale([0, 0, (this.fore + this.back)], 5 * delta/1000); 97 | const tt = v3_rotate(t, rotation); 98 | let translation = v3_add(this.translation, tt); 99 | this.positionTo(translation, rotation); 100 | */ 101 | 102 | if (right + left == 0 && fore + back == 0) return; 103 | 104 | float dt = Time.deltaTime; 105 | Quaternion rotation = transform.localRotation; 106 | float yaw = (right + left) * -3f * dt; 107 | Quaternion yawQ = Quaternion.AngleAxis(yaw * Mathf.Rad2Deg, new Vector3(0, -1, 0)); 108 | Quaternion newRot = rotation * yawQ; 109 | Vector3 t = new Vector3(0, 0, fore + back) * (5f * dt); 110 | Vector3 tt = newRot * t; 111 | Vector3 newPos = transform.localPosition + tt; 112 | 113 | CroquetSpatialSystem.Instance.DrivePawn(croquetHandle, newPos, newRot); 114 | CroquetSpatialSystem.Instance.DriveActor(croquetHandle, false, newPos, newRot); // false => no "snap" 115 | } 116 | } 117 | -------------------------------------------------------------------------------- /unity/Assets/Scripts/OverheadAvatar.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 748e98befe9b84f809afcbc9c2c8c50b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /unity/Assets/Settings.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0cb2d7e410f634c0188cbaaf94828382 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Assets/Settings/CroquetSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: d6e369286035f43f2a8109a346170456, type: 3} 13 | m_Name: CroquetSettings 14 | m_EditorClassIdentifier: 15 | apiKey: 16 | appPrefix: io.croquet.worldcore 17 | preferredPort: 5555 18 | pathToNode: /usr/local/bin/node 19 | -------------------------------------------------------------------------------- /unity/Assets/Settings/CroquetSettings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0cbbfb66f6f8147d48f8ae2dbf5c8047 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity/Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.addressables": "1.19.19", 4 | "com.unity.collab-proxy": "2.0.0", 5 | "com.unity.ide.rider": "3.0.18", 6 | "com.unity.ide.visualstudio": "2.0.22", 7 | "com.unity.ide.vscode": "1.2.5", 8 | "com.unity.inputsystem": "1.5.0", 9 | "com.unity.test-framework": "1.1.31", 10 | "com.unity.textmeshpro": "3.0.6", 11 | "com.unity.timeline": "1.6.4", 12 | "com.unity.ugui": "1.0.0", 13 | "com.unity.visualscripting": "1.8.0", 14 | "io.croquet.multiplayer": "https://github.com/croquet/croquet-for-unity-package.git#v0.9.3", 15 | "net.gree.unity-webview": "https://github.com/gree/unity-webview.git?path=/dist/package-nofragment", 16 | "com.unity.modules.ai": "1.0.0", 17 | "com.unity.modules.androidjni": "1.0.0", 18 | "com.unity.modules.animation": "1.0.0", 19 | "com.unity.modules.assetbundle": "1.0.0", 20 | "com.unity.modules.audio": "1.0.0", 21 | "com.unity.modules.cloth": "1.0.0", 22 | "com.unity.modules.director": "1.0.0", 23 | "com.unity.modules.imageconversion": "1.0.0", 24 | "com.unity.modules.imgui": "1.0.0", 25 | "com.unity.modules.jsonserialize": "1.0.0", 26 | "com.unity.modules.particlesystem": "1.0.0", 27 | "com.unity.modules.physics": "1.0.0", 28 | "com.unity.modules.physics2d": "1.0.0", 29 | "com.unity.modules.screencapture": "1.0.0", 30 | "com.unity.modules.terrain": "1.0.0", 31 | "com.unity.modules.terrainphysics": "1.0.0", 32 | "com.unity.modules.tilemap": "1.0.0", 33 | "com.unity.modules.ui": "1.0.0", 34 | "com.unity.modules.uielements": "1.0.0", 35 | "com.unity.modules.umbra": "1.0.0", 36 | "com.unity.modules.unityanalytics": "1.0.0", 37 | "com.unity.modules.unitywebrequest": "1.0.0", 38 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 39 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 40 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 41 | "com.unity.modules.unitywebrequestwww": "1.0.0", 42 | "com.unity.modules.vehicles": "1.0.0", 43 | "com.unity.modules.video": "1.0.0", 44 | "com.unity.modules.vr": "1.0.0", 45 | "com.unity.modules.wind": "1.0.0", 46 | "com.unity.modules.xr": "1.0.0" 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /unity/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | Doppler Factor: 1 9 | Default Speaker Mode: 2 10 | m_SampleRate: 0 11 | m_DSPBufferSize: 0 12 | m_VirtualVoiceCount: 512 13 | m_RealVoiceCount: 32 14 | m_DisableAudio: 0 15 | -------------------------------------------------------------------------------- /unity/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /unity/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | m_Gravity: {x: 0, y: -9.81000042, z: 0} 7 | m_DefaultMaterial: {fileID: 0} 8 | m_BounceThreshold: 2 9 | m_SleepThreshold: .00499999989 10 | m_DefaultContactOffset: .00999999978 11 | m_SolverIterationCount: 6 12 | m_RaycastsHitTriggers: 1 13 | m_EnableAdaptiveForce: 0 14 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 15 | -------------------------------------------------------------------------------- /unity/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: [] 8 | m_configObjects: 9 | com.unity.addressableassets: {fileID: 11400000, guid: 3057d19cc9906447fbe88e3da6d9e897, 10 | type: 2} 11 | com.unity.input.settings: {fileID: 11400000, guid: d2c128f842e034acd9ea076a3bc7a88a, 12 | type: 2} 13 | -------------------------------------------------------------------------------- /unity/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 11 7 | m_SerializationMode: 2 8 | m_LineEndingsForNewScripts: 1 9 | m_DefaultBehaviorMode: 0 10 | m_PrefabRegularEnvironment: {fileID: 0} 11 | m_PrefabUIEnvironment: {fileID: 0} 12 | m_SpritePackerMode: 2 13 | m_SpritePackerPaddingPower: 1 14 | m_Bc7TextureCompressor: 0 15 | m_EtcTextureCompressorBehavior: 0 16 | m_EtcTextureFastCompressor: 2 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 5 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp;java;cpp;c;mm;m;h;asmref 20 | m_ProjectGenerationRootNamespace: 21 | m_EnableTextureStreamingInEditMode: 1 22 | m_EnableTextureStreamingInPlayMode: 1 23 | m_AsyncShaderCompilation: 1 24 | m_CachingShaderPreprocessor: 1 25 | m_PrefabModeAllowAutoSave: 1 26 | m_EnterPlayModeOptionsEnabled: 1 27 | m_EnterPlayModeOptions: 0 28 | m_GameObjectNamingDigits: 1 29 | m_GameObjectNamingScheme: 0 30 | m_AssetNamingUsesSpace: 1 31 | m_UseLegacyProbeSampleCount: 1 32 | m_SerializeInlineMappingsOnOneLine: 0 33 | m_DisableCookiesInLightmapper: 1 34 | m_AssetPipelineMode: 1 35 | m_RefreshImportMode: 0 36 | m_CacheServerMode: 0 37 | m_CacheServerEndpoint: 38 | m_CacheServerNamespacePrefix: default 39 | m_CacheServerEnableDownload: 1 40 | m_CacheServerEnableUpload: 1 41 | m_CacheServerEnableAuth: 0 42 | m_CacheServerEnableTls: 0 43 | m_CacheServerValidationMode: 2 44 | m_CacheServerDownloadBatchSize: 128 45 | -------------------------------------------------------------------------------- /unity/ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 12 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 39 | m_PreloadedShaders: [] 40 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 41 | type: 0} 42 | m_CustomRenderPipeline: {fileID: 0} 43 | m_TransparencySortMode: 0 44 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 45 | m_DefaultRenderingPath: 1 46 | m_DefaultMobileRenderingPath: 1 47 | m_TierSettings: [] 48 | m_LightmapStripping: 0 49 | m_FogStripping: 0 50 | m_InstancingStripping: 0 51 | m_LightmapKeepPlain: 1 52 | m_LightmapKeepDirCombined: 1 53 | m_LightmapKeepDynamicPlain: 1 54 | m_LightmapKeepDynamicDirCombined: 1 55 | m_LightmapKeepShadowMask: 1 56 | m_LightmapKeepSubtractive: 1 57 | m_FogKeepLinear: 1 58 | m_FogKeepExp: 1 59 | m_FogKeepExp2: 1 60 | m_AlbedoSwatchInfos: [] 61 | m_LightsUseLinearIntensity: 0 62 | m_LightsUseColorTemperature: 0 63 | -------------------------------------------------------------------------------- /unity/ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!13 &1 4 | InputManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Axes: 8 | - serializedVersion: 3 9 | m_Name: Horizontal 10 | descriptiveName: 11 | descriptiveNegativeName: 12 | negativeButton: left 13 | positiveButton: right 14 | altNegativeButton: a 15 | altPositiveButton: d 16 | gravity: 3 17 | dead: 0.001 18 | sensitivity: 3 19 | snap: 1 20 | invert: 0 21 | type: 0 22 | axis: 0 23 | joyNum: 0 24 | - serializedVersion: 3 25 | m_Name: Vertical 26 | descriptiveName: 27 | descriptiveNegativeName: 28 | negativeButton: down 29 | positiveButton: up 30 | altNegativeButton: s 31 | altPositiveButton: w 32 | gravity: 3 33 | dead: 0.001 34 | sensitivity: 3 35 | snap: 1 36 | invert: 0 37 | type: 0 38 | axis: 0 39 | joyNum: 0 40 | - serializedVersion: 3 41 | m_Name: Fire1 42 | descriptiveName: 43 | descriptiveNegativeName: 44 | negativeButton: 45 | positiveButton: left ctrl 46 | altNegativeButton: 47 | altPositiveButton: mouse 0 48 | gravity: 1000 49 | dead: 0.001 50 | sensitivity: 1000 51 | snap: 0 52 | invert: 0 53 | type: 0 54 | axis: 0 55 | joyNum: 0 56 | - serializedVersion: 3 57 | m_Name: Fire2 58 | descriptiveName: 59 | descriptiveNegativeName: 60 | negativeButton: 61 | positiveButton: left alt 62 | altNegativeButton: 63 | altPositiveButton: mouse 1 64 | gravity: 1000 65 | dead: 0.001 66 | sensitivity: 1000 67 | snap: 0 68 | invert: 0 69 | type: 0 70 | axis: 0 71 | joyNum: 0 72 | - serializedVersion: 3 73 | m_Name: Fire3 74 | descriptiveName: 75 | descriptiveNegativeName: 76 | negativeButton: 77 | positiveButton: left shift 78 | altNegativeButton: 79 | altPositiveButton: mouse 2 80 | gravity: 1000 81 | dead: 0.001 82 | sensitivity: 1000 83 | snap: 0 84 | invert: 0 85 | type: 0 86 | axis: 0 87 | joyNum: 0 88 | - serializedVersion: 3 89 | m_Name: Jump 90 | descriptiveName: 91 | descriptiveNegativeName: 92 | negativeButton: 93 | positiveButton: space 94 | altNegativeButton: 95 | altPositiveButton: 96 | gravity: 1000 97 | dead: 0.001 98 | sensitivity: 1000 99 | snap: 0 100 | invert: 0 101 | type: 0 102 | axis: 0 103 | joyNum: 0 104 | - serializedVersion: 3 105 | m_Name: Mouse X 106 | descriptiveName: 107 | descriptiveNegativeName: 108 | negativeButton: 109 | positiveButton: 110 | altNegativeButton: 111 | altPositiveButton: 112 | gravity: 0 113 | dead: 0 114 | sensitivity: 0.1 115 | snap: 0 116 | invert: 0 117 | type: 1 118 | axis: 0 119 | joyNum: 0 120 | - serializedVersion: 3 121 | m_Name: Mouse Y 122 | descriptiveName: 123 | descriptiveNegativeName: 124 | negativeButton: 125 | positiveButton: 126 | altNegativeButton: 127 | altPositiveButton: 128 | gravity: 0 129 | dead: 0 130 | sensitivity: 0.1 131 | snap: 0 132 | invert: 0 133 | type: 1 134 | axis: 1 135 | joyNum: 0 136 | - serializedVersion: 3 137 | m_Name: Mouse ScrollWheel 138 | descriptiveName: 139 | descriptiveNegativeName: 140 | negativeButton: 141 | positiveButton: 142 | altNegativeButton: 143 | altPositiveButton: 144 | gravity: 0 145 | dead: 0 146 | sensitivity: 0.1 147 | snap: 0 148 | invert: 0 149 | type: 1 150 | axis: 2 151 | joyNum: 0 152 | - serializedVersion: 3 153 | m_Name: Horizontal 154 | descriptiveName: 155 | descriptiveNegativeName: 156 | negativeButton: 157 | positiveButton: 158 | altNegativeButton: 159 | altPositiveButton: 160 | gravity: 0 161 | dead: 0.19 162 | sensitivity: 1 163 | snap: 0 164 | invert: 0 165 | type: 2 166 | axis: 0 167 | joyNum: 0 168 | - serializedVersion: 3 169 | m_Name: Vertical 170 | descriptiveName: 171 | descriptiveNegativeName: 172 | negativeButton: 173 | positiveButton: 174 | altNegativeButton: 175 | altPositiveButton: 176 | gravity: 0 177 | dead: 0.19 178 | sensitivity: 1 179 | snap: 0 180 | invert: 1 181 | type: 2 182 | axis: 1 183 | joyNum: 0 184 | - serializedVersion: 3 185 | m_Name: Fire1 186 | descriptiveName: 187 | descriptiveNegativeName: 188 | negativeButton: 189 | positiveButton: joystick button 0 190 | altNegativeButton: 191 | altPositiveButton: 192 | gravity: 1000 193 | dead: 0.001 194 | sensitivity: 1000 195 | snap: 0 196 | invert: 0 197 | type: 0 198 | axis: 0 199 | joyNum: 0 200 | - serializedVersion: 3 201 | m_Name: Fire2 202 | descriptiveName: 203 | descriptiveNegativeName: 204 | negativeButton: 205 | positiveButton: joystick button 1 206 | altNegativeButton: 207 | altPositiveButton: 208 | gravity: 1000 209 | dead: 0.001 210 | sensitivity: 1000 211 | snap: 0 212 | invert: 0 213 | type: 0 214 | axis: 0 215 | joyNum: 0 216 | - serializedVersion: 3 217 | m_Name: Fire3 218 | descriptiveName: 219 | descriptiveNegativeName: 220 | negativeButton: 221 | positiveButton: joystick button 2 222 | altNegativeButton: 223 | altPositiveButton: 224 | gravity: 1000 225 | dead: 0.001 226 | sensitivity: 1000 227 | snap: 0 228 | invert: 0 229 | type: 0 230 | axis: 0 231 | joyNum: 0 232 | - serializedVersion: 3 233 | m_Name: Jump 234 | descriptiveName: 235 | descriptiveNegativeName: 236 | negativeButton: 237 | positiveButton: joystick button 3 238 | altNegativeButton: 239 | altPositiveButton: 240 | gravity: 1000 241 | dead: 0.001 242 | sensitivity: 1000 243 | snap: 0 244 | invert: 0 245 | type: 0 246 | axis: 0 247 | joyNum: 0 248 | - serializedVersion: 3 249 | m_Name: Submit 250 | descriptiveName: 251 | descriptiveNegativeName: 252 | negativeButton: 253 | positiveButton: return 254 | altNegativeButton: 255 | altPositiveButton: joystick button 0 256 | gravity: 1000 257 | dead: 0.001 258 | sensitivity: 1000 259 | snap: 0 260 | invert: 0 261 | type: 0 262 | axis: 0 263 | joyNum: 0 264 | - serializedVersion: 3 265 | m_Name: Submit 266 | descriptiveName: 267 | descriptiveNegativeName: 268 | negativeButton: 269 | positiveButton: enter 270 | altNegativeButton: 271 | altPositiveButton: space 272 | gravity: 1000 273 | dead: 0.001 274 | sensitivity: 1000 275 | snap: 0 276 | invert: 0 277 | type: 0 278 | axis: 0 279 | joyNum: 0 280 | - serializedVersion: 3 281 | m_Name: Cancel 282 | descriptiveName: 283 | descriptiveNegativeName: 284 | negativeButton: 285 | positiveButton: escape 286 | altNegativeButton: 287 | altPositiveButton: joystick button 1 288 | gravity: 1000 289 | dead: 0.001 290 | sensitivity: 1000 291 | snap: 0 292 | invert: 0 293 | type: 0 294 | axis: 0 295 | joyNum: 0 296 | m_UsePhysicalKeys: 0 297 | -------------------------------------------------------------------------------- /unity/ProjectSettings/MemorySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!387306366 &1 4 | MemorySettings: 5 | m_ObjectHideFlags: 0 6 | m_EditorMemorySettings: 7 | m_MainAllocatorBlockSize: -1 8 | m_ThreadAllocatorBlockSize: -1 9 | m_MainGfxBlockSize: -1 10 | m_ThreadGfxBlockSize: -1 11 | m_CacheBlockSize: -1 12 | m_TypetreeBlockSize: -1 13 | m_ProfilerBlockSize: -1 14 | m_ProfilerEditorBlockSize: -1 15 | m_BucketAllocatorGranularity: -1 16 | m_BucketAllocatorBucketsCount: -1 17 | m_BucketAllocatorBlockSize: -1 18 | m_BucketAllocatorBlockCount: -1 19 | m_ProfilerBucketAllocatorGranularity: -1 20 | m_ProfilerBucketAllocatorBucketsCount: -1 21 | m_ProfilerBucketAllocatorBlockSize: -1 22 | m_ProfilerBucketAllocatorBlockCount: -1 23 | m_TempAllocatorSizeMain: -1 24 | m_JobTempAllocatorBlockSize: -1 25 | m_BackgroundJobTempAllocatorBlockSize: -1 26 | m_JobTempAllocatorReducedBlockSize: -1 27 | m_TempAllocatorSizeGIBakingWorker: -1 28 | m_TempAllocatorSizeNavMeshWorker: -1 29 | m_TempAllocatorSizeAudioWorker: -1 30 | m_TempAllocatorSizeCloudWorker: -1 31 | m_TempAllocatorSizeGfx: -1 32 | m_TempAllocatorSizeJobWorker: -1 33 | m_TempAllocatorSizeBackgroundWorker: -1 34 | m_TempAllocatorSizePreloadManager: -1 35 | m_PlatformMemorySettings: {} 36 | -------------------------------------------------------------------------------- /unity/ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshAreas: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | -------------------------------------------------------------------------------- /unity/ProjectSettings/NavMeshLayers.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/croquet/croquet-for-unity-tutorials/cd864767ea529927fd509bd7b72e54ba179e99b6/unity/ProjectSettings/NavMeshLayers.asset -------------------------------------------------------------------------------- /unity/ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /unity/ProjectSettings/PackageManagerSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_EnablePreReleasePackages: 0 16 | m_AdvancedSettingsExpanded: 1 17 | m_ScopedRegistriesSettingsExpanded: 1 18 | m_SeeAllPackageVersions: 0 19 | m_DismissPreviewPackagesInUse: 0 20 | oneTimeWarningShown: 0 21 | m_Registries: 22 | - m_Id: main 23 | m_Name: 24 | m_Url: https://packages.unity.com 25 | m_Scopes: [] 26 | m_IsDefault: 1 27 | m_Capabilities: 7 28 | m_ConfigSource: 0 29 | m_UserSelectedRegistryName: 30 | m_UserAddingNewScopedRegistry: 0 31 | m_RegistryInfoDraft: 32 | m_Modified: 0 33 | m_ErrorMessage: 34 | m_UserModificationsInstanceId: -872 35 | m_OriginalInstanceId: -874 36 | m_LoadAssets: 0 37 | -------------------------------------------------------------------------------- /unity/ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | m_Gravity: {x: 0, y: -9.81000042} 7 | m_DefaultMaterial: {fileID: 0} 8 | m_VelocityIterations: 8 9 | m_PositionIterations: 3 10 | m_VelocityThreshold: 1 11 | m_MaxLinearCorrection: .200000003 12 | m_MaxAngularCorrection: 8 13 | m_MaxTranslationSpeed: 100 14 | m_MaxRotationSpeed: 360 15 | m_MinPenetrationForPenalty: .00999999978 16 | m_BaumgarteScale: .200000003 17 | m_BaumgarteTimeOfImpactScale: .75 18 | m_TimeToSleep: .5 19 | m_LinearSleepTolerance: .00999999978 20 | m_AngularSleepTolerance: 2 21 | m_RaycastsHitTriggers: 1 22 | m_RaycastsStartInColliders: 1 23 | m_ChangeStopsCallbacks: 0 24 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 25 | -------------------------------------------------------------------------------- /unity/ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_DefaultPresets: {} 8 | -------------------------------------------------------------------------------- /unity/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2021.3.19f1 2 | m_EditorVersionWithRevision: 2021.3.19f1 (c9714fde33b6) 3 | -------------------------------------------------------------------------------- /unity/ProjectSettings/SceneTemplateSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "templatePinStates": [], 3 | "dependencyTypeInfos": [ 4 | { 5 | "userAdded": false, 6 | "type": "UnityEngine.AnimationClip", 7 | "ignore": false, 8 | "defaultInstantiationMode": 0, 9 | "supportsModification": true 10 | }, 11 | { 12 | "userAdded": false, 13 | "type": "UnityEditor.Animations.AnimatorController", 14 | "ignore": false, 15 | "defaultInstantiationMode": 0, 16 | "supportsModification": true 17 | }, 18 | { 19 | "userAdded": false, 20 | "type": "UnityEngine.AnimatorOverrideController", 21 | "ignore": false, 22 | "defaultInstantiationMode": 0, 23 | "supportsModification": true 24 | }, 25 | { 26 | "userAdded": false, 27 | "type": "UnityEditor.Audio.AudioMixerController", 28 | "ignore": false, 29 | "defaultInstantiationMode": 0, 30 | "supportsModification": true 31 | }, 32 | { 33 | "userAdded": false, 34 | "type": "UnityEngine.ComputeShader", 35 | "ignore": true, 36 | "defaultInstantiationMode": 1, 37 | "supportsModification": true 38 | }, 39 | { 40 | "userAdded": false, 41 | "type": "UnityEngine.Cubemap", 42 | "ignore": false, 43 | "defaultInstantiationMode": 0, 44 | "supportsModification": true 45 | }, 46 | { 47 | "userAdded": false, 48 | "type": "UnityEngine.GameObject", 49 | "ignore": false, 50 | "defaultInstantiationMode": 0, 51 | "supportsModification": true 52 | }, 53 | { 54 | "userAdded": false, 55 | "type": "UnityEditor.LightingDataAsset", 56 | "ignore": false, 57 | "defaultInstantiationMode": 0, 58 | "supportsModification": false 59 | }, 60 | { 61 | "userAdded": false, 62 | "type": "UnityEngine.LightingSettings", 63 | "ignore": false, 64 | "defaultInstantiationMode": 0, 65 | "supportsModification": true 66 | }, 67 | { 68 | "userAdded": false, 69 | "type": "UnityEngine.Material", 70 | "ignore": false, 71 | "defaultInstantiationMode": 0, 72 | "supportsModification": true 73 | }, 74 | { 75 | "userAdded": false, 76 | "type": "UnityEditor.MonoScript", 77 | "ignore": true, 78 | "defaultInstantiationMode": 1, 79 | "supportsModification": true 80 | }, 81 | { 82 | "userAdded": false, 83 | "type": "UnityEngine.PhysicMaterial", 84 | "ignore": false, 85 | "defaultInstantiationMode": 0, 86 | "supportsModification": true 87 | }, 88 | { 89 | "userAdded": false, 90 | "type": "UnityEngine.PhysicsMaterial2D", 91 | "ignore": false, 92 | "defaultInstantiationMode": 0, 93 | "supportsModification": true 94 | }, 95 | { 96 | "userAdded": false, 97 | "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile", 98 | "ignore": false, 99 | "defaultInstantiationMode": 0, 100 | "supportsModification": true 101 | }, 102 | { 103 | "userAdded": false, 104 | "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources", 105 | "ignore": false, 106 | "defaultInstantiationMode": 0, 107 | "supportsModification": true 108 | }, 109 | { 110 | "userAdded": false, 111 | "type": "UnityEngine.Rendering.VolumeProfile", 112 | "ignore": false, 113 | "defaultInstantiationMode": 0, 114 | "supportsModification": true 115 | }, 116 | { 117 | "userAdded": false, 118 | "type": "UnityEditor.SceneAsset", 119 | "ignore": false, 120 | "defaultInstantiationMode": 0, 121 | "supportsModification": false 122 | }, 123 | { 124 | "userAdded": false, 125 | "type": "UnityEngine.Shader", 126 | "ignore": true, 127 | "defaultInstantiationMode": 1, 128 | "supportsModification": true 129 | }, 130 | { 131 | "userAdded": false, 132 | "type": "UnityEngine.ShaderVariantCollection", 133 | "ignore": true, 134 | "defaultInstantiationMode": 1, 135 | "supportsModification": true 136 | }, 137 | { 138 | "userAdded": false, 139 | "type": "UnityEngine.Texture", 140 | "ignore": false, 141 | "defaultInstantiationMode": 0, 142 | "supportsModification": true 143 | }, 144 | { 145 | "userAdded": false, 146 | "type": "UnityEngine.Texture2D", 147 | "ignore": false, 148 | "defaultInstantiationMode": 0, 149 | "supportsModification": true 150 | }, 151 | { 152 | "userAdded": false, 153 | "type": "UnityEngine.Timeline.TimelineAsset", 154 | "ignore": false, 155 | "defaultInstantiationMode": 0, 156 | "supportsModification": true 157 | } 158 | ], 159 | "defaultDependencyTypeInfo": { 160 | "userAdded": false, 161 | "type": "", 162 | "ignore": false, 163 | "defaultInstantiationMode": 1, 164 | "supportsModification": true 165 | }, 166 | "newSceneOverride": 0 167 | } -------------------------------------------------------------------------------- /unity/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: 7 | - Bridge 8 | layers: 9 | - Default 10 | - TransparentFX 11 | - Ignore Raycast 12 | - 13 | - Water 14 | - UI 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | - 41 | m_SortingLayers: 42 | - name: Default 43 | uniqueID: 0 44 | locked: 0 45 | -------------------------------------------------------------------------------- /unity/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: .0199999996 7 | Maximum Allowed Timestep: .333333343 8 | m_TimeScale: 1 9 | -------------------------------------------------------------------------------- /unity/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | m_Enabled: 0 7 | m_TestMode: 0 8 | m_TestEventUrl: 9 | m_TestConfigUrl: 10 | CrashReportingSettings: 11 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes 12 | m_Enabled: 0 13 | m_CaptureEditorExceptions: 1 14 | UnityPurchasingSettings: 15 | m_Enabled: 0 16 | m_TestMode: 0 17 | UnityAnalyticsSettings: 18 | m_Enabled: 0 19 | m_InitializeOnStartup: 1 20 | m_TestMode: 0 21 | m_TestEventUrl: 22 | m_TestConfigUrl: 23 | UnityAdsSettings: 24 | m_Enabled: 0 25 | m_InitializeOnStartup: 1 26 | m_TestMode: 0 27 | m_EnabledPlatforms: 4294967295 28 | m_IosGameId: 29 | m_AndroidGameId: 30 | -------------------------------------------------------------------------------- /unity/ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_StripUpdateShader: {fileID: 0} 10 | m_RenderPipeSettingsPath: 11 | m_FixedTimeStep: 0.016666668 12 | m_MaxDeltaTime: 0.05 13 | m_MaxScrubTime: 30 14 | m_CompiledVersion: 0 15 | m_RuntimeVersion: 0 16 | m_RuntimeResources: {fileID: 0} 17 | m_BatchEmptyLifetime: 300 18 | -------------------------------------------------------------------------------- /unity/ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /unity/ProjectSettings/boot.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/croquet/croquet-for-unity-tutorials/cd864767ea529927fd509bd7b72e54ba179e99b6/unity/ProjectSettings/boot.config --------------------------------------------------------------------------------