diff --git a/.yamato/_triggers.yml b/.yamato/_triggers.yml
new file mode 100644
index 000000000..f1ee82f42
--- /dev/null
+++ b/.yamato/_triggers.yml
@@ -0,0 +1,43 @@
+{% metadata_file .yamato/project.metafile %}
+---
+
+# Run all relevant tasks when a pull request targets the develop / main or a sample branch
+pull_request_trigger:
+ name: Pull Request Trigger (main, develop, & sample branches)
+ dependencies:
+{% for project in projects -%}
+{% for editor in project.test_editors -%}
+{% for platform in test_platforms -%}
+ - .yamato/build.yml#build_{{ project.name }}_{{ editor }}_{{ platform.name }}
+{% if project.run_editor_tests or project.run_playmode_tests -%} # Only run tests for projects where relevant
+ - .yamato/tests.yml#test_{{ project.name }}_{{ editor }}_{{ platform.name }}
+{% endif -%}
+{% endfor -%}
+{% endfor -%}
+{% endfor -%}
+ triggers:
+ cancel_old_ci: true
+ pull_requests:
+ - targets:
+ only:
+ - "main"
+ - "develop"
+ - "/^sample\//"
+
+# Run all tasks on the bitesize sample develop branch (head) when there is a push to the Netcode for GameObjects develop branch
+external_ngo_develop_pull_request_trigger:
+ name: Netcode for GameObjects (External) Develop Branch Triggers
+ dependencies:
+{% for project in projects -%}
+{% for editor in project.test_editors -%}
+{% for platform in test_platforms -%}
+ - .yamato/build.yml#build_{{ project.name }}_{{ editor }}_{{ platform.name }}
+{% endfor -%}
+{% endfor -%}
+{% endfor -%}
+ triggers:
+ external:
+ source: git@github.com/Unity-Technologies/com.unity.netcode.gameobjects.git
+ expression: push.branch eq "develop"
+ refs_on_this_repository:
+ - develop
\ No newline at end of file
diff --git a/.yamato/build.yml b/.yamato/build.yml
index 87af8f986..7af576fb6 100644
--- a/.yamato/build.yml
+++ b/.yamato/build.yml
@@ -2,9 +2,8 @@
---
{% for project in projects -%}
-{% for editor in test_editors -%}
+{% for editor in project.test_editors -%}
{% for platform in test_platforms -%}
-
build_{{ project.name }}_{{ editor }}_{{ platform.name }}:
name: Build Project {{ project.name }} - Package {{ package.name }} - {{ editor }} on {{ platform.name }}
variables:
@@ -15,59 +14,34 @@ build_{{ project.name }}_{{ editor }}_{{ platform.name }}:
flavor: {{ platform.flavor}}
commands:
- pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade
+{% if project.name == "dedicatedgameserver" -%} #dedicatedgameserver sample builds via custom editor script. This script generates client and server builds on the Mac, Windows, and Linux platforms
+ - unity-downloader-cli -u {{ editor }} -c editor -c macOS -c Windows -c Linux -c macOSDedicatedServerBuildSupport -c LinuxDedicatedServerBuildSupport -c WindowsDedicatedServerBuildSupport --wait --published --fast
+{% if platform.name == "win" -%} #windows
+ - .Editor\Unity.exe -batchmode -nographics -logfile build.log -executeMethod Unity.DedicatedGameServerSample.Editor.BuildHelpers.BuildEverything -projectPath {{ project.path }} -quit
+{% else -%}
+ - .Editor/Unity.app/Contents/MacOS/Unity -batchmode -nographics -logfile build.log -executeMethod Unity.DedicatedGameServerSample.Editor.BuildHelpers.BuildEverything -projectPath {{ project.path }} -quit
+{% endif -%}
+{% else -%}
- unity-downloader-cli -u {{ editor }} -c editor --wait --published --fast
-
{% if platform.name == "win" -%} #windows
- .Editor\Unity.exe -projectpath {{ project.path }} -batchmode -quit -logfile build.log -buildWindowsPlayer build\players\test.exe
{% else -%}
- .Editor/Unity.app/Contents/MacOS/Unity -projectpath {{ project.path }} -batchmode -quit -logfile build.log -buildOSXUniversalPlayer ./build/players/test
+{% endif -%}
{% endif -%}
artifacts:
players:
paths:
- - "build/players/**"
+{% if project.name == "dedicatedgameserver" -%} #dedicatedgameserver sample builds via custom editor script into different location
+ - "{{ project.path }}/Builds/**"
+{% else -%}
+ - "{{ project.path }}/build/players/**"
+{% endif -%}
logs:
paths:
- - "build/logs/**"
-
-{% endfor -%}
-{% endfor -%}
-{% endfor -%}
+ - "build.log"
-# Run all relevant tasks when a pull request targeting the develop / main
-develop_pull_request_trigger:
- name: Develop Branch Triggers
- dependencies:
-{% for project in projects -%}
-{% for editor in test_editors -%}
-{% for platform in test_platforms -%}
- - .yamato/build.yml#build_{{ project.name }}_{{ editor }}_{{ platform.name }}
-{% endfor -%}
-{% endfor -%}
-{% endfor -%}
- triggers:
- cancel_old_ci: true
- pull_requests:
- - targets:
- only:
- - "main"
- - "develop"
-
-# Run all tasks on the bitesize sample develop branch (head) when there is a push to the Netcode for GameObjects develop branch
-external_ngo_develop_pull_request_trigger:
- name: Netcode for GameObjects (External) Develop Branch Triggers
- dependencies:
-{% for project in projects -%}
-{% for editor in test_editors -%}
-{% for platform in test_platforms -%}
- - .yamato/build.yml#build_{{ project.name }}_{{ editor }}_{{ platform.name }}
-{% endfor -%}
{% endfor -%}
{% endfor -%}
- triggers:
- external:
- source: git@github.com/Unity-Technologies/com.unity.netcode.gameobjects.git
- expression: push.branch eq "develop"
- refs_on_this_repository:
- - develop
\ No newline at end of file
+{% endfor -%}
\ No newline at end of file
diff --git a/.yamato/project.metafile b/.yamato/project.metafile
index 589d945e4..0186a4c89 100644
--- a/.yamato/project.metafile
+++ b/.yamato/project.metafile
@@ -1,35 +1,59 @@
-# Editors where tests will happen. The first entry of this array is also used
-# for validation.
-#
-# Therefore, **do not** put an older V1-lifecycle ver.
-# like 2020.x or 2019.x on top of 'test_editors'
-test_editors:
- - 2022.3
-
# Platforms that will be tested. The first entry in this array will also
# be used for validation
test_platforms:
- name: win
type: Unity::VM
- image: package-ci/win10:stable
+ image: package-ci/win10:v4.36.0
platform: StandaloneWindows64
flavor: b1.large
- name: mac
type: Unity::VM::osx
- image: package-ci/mac:stable
+ image: package-ci/macos-13:v4
platform: StandaloneOSX
flavor: m1.mac
-# Projects within the repository that will be tested. Name will be used
-# for job ids, so it should not contain spaces/non-supported characters
+# Projects within the repository that will be tested. Name will be used for job ids, so it should not contain spaces/non-supported characters
+# The test-editors field is for editors where tests will happen. The first entry of this array is also used
+# for validation. Therefore, **do not** put an older V1-lifecycle ver. like 2020.x or 2019.x on top of 'test_editors'
projects:
- name: 2dspaceshooter
path: Basic/2DSpaceShooter
+ test_editors:
+ - 2022.3
+ run_editor_tests: !!bool false
+ run_playmode_tests: !!bool false
+ test_filter:
- name: invaders
path: Basic/Invaders
+ test_editors:
+ - 2022.3
+ run_editor_tests: !!bool false
+ run_playmode_tests: !!bool false
+ test_filter:
- name: clientdriven
path: Basic/ClientDriven
+ test_editors:
+ - 2022.3
+ run_editor_tests: !!bool false
+ run_playmode_tests: !!bool false
+ test_filter:
- name: dynamicaddressablesnetworkprefabs
path: Basic/DynamicAddressablesNetworkPrefabs
+ test_editors:
+ - 2022.3
+ run_editor_tests: !!bool false
+ run_playmode_tests: !!bool false
+ test_filter:
+ - name: dedicatedgameserver
+ path: Experimental/DedicatedGameServer
+ test_editors:
+ - 2023.3.0a17
+ run_editor_tests: !!bool false
+ run_playmode_tests: !!bool true
+ test_filter: Unity.DedicatedGameServerSample.Tests
- name: multiplayerusecases
- path: Experimental/MultiplayerUsecases
\ No newline at end of file
+ path: Experimental/MultiplayerUseCases
+ test_editors:
+ - 2022.3
+ run_editor_tests: !!bool true
+ run_playmode_tests: !!bool false
\ No newline at end of file
diff --git a/.yamato/tests.yml b/.yamato/tests.yml
new file mode 100644
index 000000000..2cb2506a2
--- /dev/null
+++ b/.yamato/tests.yml
@@ -0,0 +1,43 @@
+{% metadata_file .yamato/project.metafile %}
+---
+
+{% for project in projects -%}
+{% for editor in project.test_editors -%}
+{% for platform in test_platforms -%}
+test_{{ project.name }}_{{ editor }}_{{ platform.name }}:
+ name: {{ project.name }} project tests - {{ editor }} on {{ platform.name }}
+ variables:
+ UTR_VERSION: current
+ agent:
+ type: {{ platform.type }}
+ image: {{ platform.image }}
+ flavor: {{ platform.flavor}}
+ commands:
+ - pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple
+ - unity-downloader-cli -u {{ editor }} -c editor -w --fast
+{% if platform.name == "win" -%} #windows
+ - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat
+{% if project.run_editor_tests -%} # Only run editor tests for projects where relevant
+ - utr --suite=editor --editor-location=.Editor --testproject={{ project.path }} --testfilter={{ project.test_filter }} --artifacts-path=testlogs
+{% endif -%}
+{% if project.run_playmode_tests -%} # Only run playmode tests for projects where relevant
+ - utr --suite=playmode --editor-location=.Editor --testproject={{ project.path }} --testfilter={{ project.test_filter }} --artifacts-path=testlogs
+{% endif -%}
+{% else -%}
+ - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr
+ - chmod +x utr
+{% if project.run_editor_tests -%} # Only run editor tests for projects where relevant
+ - ./utr --suite=editor --editor-location=.Editor --testproject={{ project.path }} --testfilter={{ project.test_filter }} --artifacts-path=testlogs
+{% endif -%}
+{% if project.run_playmode_tests -%} # Only run playmode tests for projects where relevant
+ - ./utr --suite=playmode --editor-location=.Editor --testproject={{ project.path }} --testfilter={{ project.test_filter }} --artifacts-path=testlogs
+{% endif -%}
+{% endif -%}
+ artifacts:
+ logs:
+ paths:
+ - "testlogs/**"
+
+{% endfor -%}
+{% endfor -%}
+{% endfor -%}
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 80f982532..ec3e83455 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -74,6 +74,13 @@
- Upgraded to Netcode for GameObjects v1.6.0 (#134)
- Upgraded sample to 2022.3.9f1 LTS (#134)
+## [Unreleased]
+
+### Dedicated Game Server
+todo: the changelog entry for this sample will be updated with subsequent PRs before being merged when ready
+
+- New Dedicated Game Server sample. (#1) This sample's goal is to demonstrate how to use the different tools and packages available to create a game using the dedicated server approach. It requires editor version 2023.3.
+
## [1.3.0] - 2023-07-07
### Dynamic Addressables Network Prefabs
diff --git a/Experimental/Anticipation Sample/Assets/Materials/Black Ghost.mat b/Experimental/Anticipation Sample/Assets/Materials/Black Ghost.mat
deleted file mode 100644
index bec287402..000000000
--- a/Experimental/Anticipation Sample/Assets/Materials/Black Ghost.mat
+++ /dev/null
@@ -1,82 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
- serializedVersion: 8
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Black Ghost
- m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
- m_ValidKeywords:
- - _ALPHAPREMULTIPLY_ON
- m_InvalidKeywords: []
- m_LightmapFlags: 4
- m_EnableInstancingVariants: 0
- m_DoubleSidedGI: 0
- m_CustomRenderQueue: 3000
- stringTagMap:
- RenderType: Transparent
- disabledShaderPasses: []
- m_SavedProperties:
- serializedVersion: 3
- m_TexEnvs:
- - _BumpMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailAlbedoMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailMask:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailNormalMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _EmissionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MainTex:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MetallicGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _OcclusionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _ParallaxMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- m_Ints: []
- m_Floats:
- - _BumpScale: 1
- - _Cutoff: 0.5
- - _DetailNormalMapScale: 1
- - _DstBlend: 10
- - _GlossMapScale: 1
- - _Glossiness: 0.5
- - _GlossyReflections: 1
- - _Metallic: 0
- - _Mode: 3
- - _OcclusionStrength: 1
- - _Parallax: 0.02
- - _SmoothnessTextureChannel: 0
- - _SpecularHighlights: 1
- - _SrcBlend: 1
- - _UVSec: 0
- - _ZWrite: 0
- m_Colors:
- - _Color: {r: 0, g: 0, b: 0, a: 0.49803922}
- - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- m_BuildTextureStacks: []
diff --git a/Experimental/Anticipation Sample/Assets/Materials/Brown Ghost.mat b/Experimental/Anticipation Sample/Assets/Materials/Brown Ghost.mat
deleted file mode 100644
index 894acd535..000000000
--- a/Experimental/Anticipation Sample/Assets/Materials/Brown Ghost.mat
+++ /dev/null
@@ -1,82 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
- serializedVersion: 8
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Brown Ghost
- m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
- m_ValidKeywords:
- - _ALPHAPREMULTIPLY_ON
- m_InvalidKeywords: []
- m_LightmapFlags: 4
- m_EnableInstancingVariants: 0
- m_DoubleSidedGI: 0
- m_CustomRenderQueue: 3000
- stringTagMap:
- RenderType: Transparent
- disabledShaderPasses: []
- m_SavedProperties:
- serializedVersion: 3
- m_TexEnvs:
- - _BumpMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailAlbedoMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailMask:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailNormalMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _EmissionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MainTex:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MetallicGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _OcclusionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _ParallaxMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- m_Ints: []
- m_Floats:
- - _BumpScale: 1
- - _Cutoff: 0.5
- - _DetailNormalMapScale: 1
- - _DstBlend: 10
- - _GlossMapScale: 1
- - _Glossiness: 0.23
- - _GlossyReflections: 1
- - _Metallic: 0
- - _Mode: 3
- - _OcclusionStrength: 1
- - _Parallax: 0.02
- - _SmoothnessTextureChannel: 0
- - _SpecularHighlights: 1
- - _SrcBlend: 1
- - _UVSec: 0
- - _ZWrite: 0
- m_Colors:
- - _Color: {r: 0.4313725, g: 0.14901957, b: 0.054901943, a: 0.49803922}
- - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- m_BuildTextureStacks: []
diff --git a/Experimental/Anticipation Sample/Assets/Materials/Ghost.mat.meta b/Experimental/Anticipation Sample/Assets/Materials/Ghost.mat.meta
deleted file mode 100644
index 52557571a..000000000
--- a/Experimental/Anticipation Sample/Assets/Materials/Ghost.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 79beada56b616294aa33ba08fba47fbf
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 2100000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Experimental/Anticipation Sample/Assets/Materials/Player.mat.meta b/Experimental/Anticipation Sample/Assets/Materials/Player.mat.meta
deleted file mode 100644
index 6e9f2d7cb..000000000
--- a/Experimental/Anticipation Sample/Assets/Materials/Player.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: de6faa52be7e8a04ca90031d3b30a5e4
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 2100000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Experimental/Anticipation Sample/Assets/Materials/Red Ghost.mat b/Experimental/Anticipation Sample/Assets/Materials/Red Ghost.mat
deleted file mode 100644
index 32c6e33c9..000000000
--- a/Experimental/Anticipation Sample/Assets/Materials/Red Ghost.mat
+++ /dev/null
@@ -1,82 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
- serializedVersion: 8
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Red Ghost
- m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
- m_ValidKeywords:
- - _ALPHAPREMULTIPLY_ON
- m_InvalidKeywords: []
- m_LightmapFlags: 4
- m_EnableInstancingVariants: 0
- m_DoubleSidedGI: 0
- m_CustomRenderQueue: 3000
- stringTagMap:
- RenderType: Transparent
- disabledShaderPasses: []
- m_SavedProperties:
- serializedVersion: 3
- m_TexEnvs:
- - _BumpMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailAlbedoMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailMask:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailNormalMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _EmissionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MainTex:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MetallicGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _OcclusionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _ParallaxMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- m_Ints: []
- m_Floats:
- - _BumpScale: 1
- - _Cutoff: 0.5
- - _DetailNormalMapScale: 1
- - _DstBlend: 10
- - _GlossMapScale: 1
- - _Glossiness: 0.37
- - _GlossyReflections: 1
- - _Metallic: 0
- - _Mode: 3
- - _OcclusionStrength: 1
- - _Parallax: 0.02
- - _SmoothnessTextureChannel: 0
- - _SpecularHighlights: 1
- - _SrcBlend: 1
- - _UVSec: 0
- - _ZWrite: 0
- m_Colors:
- - _Color: {r: 1, g: 0, b: 0, a: 0.49803922}
- - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- m_BuildTextureStacks: []
diff --git a/Experimental/Anticipation Sample/Assets/Materials/Red Ghost.mat.meta b/Experimental/Anticipation Sample/Assets/Materials/Red Ghost.mat.meta
deleted file mode 100644
index 23e7ed174..000000000
--- a/Experimental/Anticipation Sample/Assets/Materials/Red Ghost.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 94b8848f4ddd5c54b94e9c7df938e104
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 2100000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Experimental/Anticipation Sample/Assets/Materials/Red.mat b/Experimental/Anticipation Sample/Assets/Materials/Red.mat
deleted file mode 100644
index 5b55289a7..000000000
--- a/Experimental/Anticipation Sample/Assets/Materials/Red.mat
+++ /dev/null
@@ -1,80 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
- serializedVersion: 8
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Red
- m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
- m_ValidKeywords: []
- m_InvalidKeywords: []
- m_LightmapFlags: 4
- m_EnableInstancingVariants: 0
- m_DoubleSidedGI: 0
- m_CustomRenderQueue: -1
- stringTagMap: {}
- disabledShaderPasses: []
- m_SavedProperties:
- serializedVersion: 3
- m_TexEnvs:
- - _BumpMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailAlbedoMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailMask:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailNormalMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _EmissionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MainTex:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MetallicGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _OcclusionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _ParallaxMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- m_Ints: []
- m_Floats:
- - _BumpScale: 1
- - _Cutoff: 0.5
- - _DetailNormalMapScale: 1
- - _DstBlend: 0
- - _GlossMapScale: 1
- - _Glossiness: 0.37
- - _GlossyReflections: 1
- - _Metallic: 0
- - _Mode: 0
- - _OcclusionStrength: 1
- - _Parallax: 0.02
- - _SmoothnessTextureChannel: 0
- - _SpecularHighlights: 1
- - _SrcBlend: 1
- - _UVSec: 0
- - _ZWrite: 1
- m_Colors:
- - _Color: {r: 1, g: 0, b: 0, a: 1}
- - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- m_BuildTextureStacks: []
diff --git a/Experimental/Anticipation Sample/Assets/Materials/Red.mat.meta b/Experimental/Anticipation Sample/Assets/Materials/Red.mat.meta
deleted file mode 100644
index 7dbc5704e..000000000
--- a/Experimental/Anticipation Sample/Assets/Materials/Red.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: d1d621773c6ac224a92f5d92ada5911e
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 2100000
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Experimental/Anticipation Sample/Assets/Scenes/SampleScene.unity b/Experimental/Anticipation Sample/Assets/Scenes/SampleScene.unity
deleted file mode 100644
index d87ff5b1d..000000000
--- a/Experimental/Anticipation Sample/Assets/Scenes/SampleScene.unity
+++ /dev/null
@@ -1,1583 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!29 &1
-OcclusionCullingSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_OcclusionBakeSettings:
- smallestOccluder: 5
- smallestHole: 0.25
- backfaceThreshold: 100
- m_SceneGUID: 00000000000000000000000000000000
- m_OcclusionCullingData: {fileID: 0}
---- !u!104 &2
-RenderSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 9
- m_Fog: 0
- m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- m_FogMode: 3
- m_FogDensity: 0.01
- m_LinearFogStart: 0
- m_LinearFogEnd: 300
- m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
- m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
- m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
- m_AmbientIntensity: 1
- m_AmbientMode: 0
- m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
- m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
- m_HaloStrength: 0.5
- m_FlareStrength: 1
- m_FlareFadeSpeed: 3
- m_HaloTexture: {fileID: 0}
- m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
- m_DefaultReflectionMode: 0
- m_DefaultReflectionResolution: 128
- m_ReflectionBounces: 1
- m_ReflectionIntensity: 1
- m_CustomReflection: {fileID: 0}
- m_Sun: {fileID: 705507994}
- m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1}
- m_UseRadianceAmbientProbe: 0
---- !u!157 &3
-LightmapSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 12
- m_GIWorkflowMode: 1
- m_GISettings:
- serializedVersion: 2
- m_BounceScale: 1
- m_IndirectOutputScale: 1
- m_AlbedoBoost: 1
- m_EnvironmentLightingMode: 0
- m_EnableBakedLightmaps: 1
- m_EnableRealtimeLightmaps: 0
- m_LightmapEditorSettings:
- serializedVersion: 12
- m_Resolution: 2
- m_BakeResolution: 40
- m_AtlasSize: 1024
- m_AO: 0
- m_AOMaxDistance: 1
- m_CompAOExponent: 1
- m_CompAOExponentDirect: 0
- m_ExtractAmbientOcclusion: 0
- m_Padding: 2
- m_LightmapParameters: {fileID: 0}
- m_LightmapsBakeMode: 1
- m_TextureCompression: 1
- m_FinalGather: 0
- m_FinalGatherFiltering: 1
- m_FinalGatherRayCount: 256
- m_ReflectionCompression: 2
- m_MixedBakeMode: 2
- m_BakeBackend: 1
- m_PVRSampling: 1
- m_PVRDirectSampleCount: 32
- m_PVRSampleCount: 500
- m_PVRBounces: 2
- m_PVREnvironmentSampleCount: 500
- m_PVREnvironmentReferencePointCount: 2048
- m_PVRFilteringMode: 2
- m_PVRDenoiserTypeDirect: 0
- m_PVRDenoiserTypeIndirect: 0
- m_PVRDenoiserTypeAO: 0
- m_PVRFilterTypeDirect: 0
- m_PVRFilterTypeIndirect: 0
- m_PVRFilterTypeAO: 0
- m_PVREnvironmentMIS: 0
- m_PVRCulling: 1
- m_PVRFilteringGaussRadiusDirect: 1
- m_PVRFilteringGaussRadiusIndirect: 5
- m_PVRFilteringGaussRadiusAO: 2
- m_PVRFilteringAtrousPositionSigmaDirect: 0.5
- m_PVRFilteringAtrousPositionSigmaIndirect: 2
- m_PVRFilteringAtrousPositionSigmaAO: 1
- m_ExportTrainingData: 0
- m_TrainingDataDestination: TrainingData
- m_LightProbeSampleCountMultiplier: 4
- m_LightingDataAsset: {fileID: 0}
- m_LightingSettings: {fileID: 0}
---- !u!196 &4
-NavMeshSettings:
- serializedVersion: 2
- m_ObjectHideFlags: 0
- m_BuildSettings:
- serializedVersion: 2
- agentTypeID: 0
- agentRadius: 0.5
- agentHeight: 2
- agentSlope: 45
- agentClimb: 0.4
- ledgeDropHeight: 0
- maxJumpAcrossDistance: 0
- minRegionArea: 2
- manualCellSize: 0
- cellSize: 0.16666667
- manualTileSize: 0
- tileSize: 256
- accuratePlacement: 0
- maxJobWorkers: 0
- preserveTilesOutsideBounds: 0
- debug:
- m_Flags: 0
- m_NavMeshData: {fileID: 0}
---- !u!1 &250541871
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 250541874}
- - component: {fileID: 250541872}
- - component: {fileID: 250541873}
- m_Layer: 0
- m_Name: Anticipation Sample
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!114 &250541872
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 250541871}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- GlobalObjectIdHash: 2934768866
- InScenePlacedSourceGlobalObjectIdHash: 0
- AlwaysReplicateAsRoot: 0
- SynchronizeTransform: 1
- ActiveSceneSynchronization: 0
- SceneMigrationSynchronization: 1
- SpawnWithObservers: 1
- DontDestroyWithOwner: 0
- AutoObjectParentSync: 1
---- !u!114 &250541873
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 250541871}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: bb71a36d2a747914e86b366bc2de89f3, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- ValueA:
- m_AuthoritativeValue:
- m_InternalValue: 0
- StaleDataHandling: 0
- ValueB:
- m_AuthoritativeValue:
- m_InternalValue: 0
- StaleDataHandling: 0
- ValueC:
- m_AuthoritativeValue:
- m_InternalValue: 0
- StaleDataHandling: 0
- ValueD:
- m_AuthoritativeValue:
- m_InternalValue: 0
- StaleDataHandling: 0
- ValueE:
- m_AuthoritativeValue:
- m_InternalValue: 0
- StaleDataHandling: 1
- NetworkManagerObject: {fileID: 1999467622}
- Player: {fileID: 1323803468}
---- !u!4 &250541874
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 250541871}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 2
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &471185168
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 471185169}
- - component: {fileID: 471185172}
- - component: {fileID: 471185171}
- - component: {fileID: 471185170}
- m_Layer: 0
- m_Name: Eye (1)
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &471185169
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 471185168}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0.385, y: 0.162, z: -0.182}
- m_LocalScale: {x: 0.15, y: 0.15, z: 0.15}
- m_ConstrainProportionsScale: 1
- m_Children: []
- m_Father: {fileID: 1323803466}
- m_RootOrder: 2
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!135 &471185170
-SphereCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 471185168}
- m_Material: {fileID: 0}
- m_IsTrigger: 0
- m_Enabled: 1
- serializedVersion: 2
- m_Radius: 0.5
- m_Center: {x: 0, y: 0, z: 0}
---- !u!23 &471185171
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 471185168}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: c7ded805a1e4e3f469663303348e0be7, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &471185172
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 471185168}
- m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
---- !u!1 &633430352
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 633430353}
- - component: {fileID: 633430356}
- - component: {fileID: 633430355}
- - component: {fileID: 633430354}
- m_Layer: 0
- m_Name: Eye (1)
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &633430353
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 633430352}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0.385, y: 0.162, z: -0.182}
- m_LocalScale: {x: 0.15, y: 0.15, z: 0.15}
- m_ConstrainProportionsScale: 1
- m_Children: []
- m_Father: {fileID: 1289655001}
- m_RootOrder: 2
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!135 &633430354
-SphereCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 633430352}
- m_Material: {fileID: 0}
- m_IsTrigger: 0
- m_Enabled: 1
- serializedVersion: 2
- m_Radius: 0.5
- m_Center: {x: 0, y: 0, z: 0}
---- !u!23 &633430355
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 633430352}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 4ef362874b6df534aa2000ecc0a288f2, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &633430356
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 633430352}
- m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
---- !u!1 &679347364
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 679347365}
- - component: {fileID: 679347368}
- - component: {fileID: 679347367}
- - component: {fileID: 679347366}
- m_Layer: 0
- m_Name: Eye
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &679347365
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 679347364}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0.385, y: 0.162, z: 0.182}
- m_LocalScale: {x: 0.15, y: 0.15, z: 0.15}
- m_ConstrainProportionsScale: 1
- m_Children: []
- m_Father: {fileID: 1323803466}
- m_RootOrder: 1
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!135 &679347366
-SphereCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 679347364}
- m_Material: {fileID: 0}
- m_IsTrigger: 0
- m_Enabled: 1
- serializedVersion: 2
- m_Radius: 0.5
- m_Center: {x: 0, y: 0, z: 0}
---- !u!23 &679347367
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 679347364}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: c7ded805a1e4e3f469663303348e0be7, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &679347368
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 679347364}
- m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
---- !u!1 &705507993
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 705507995}
- - component: {fileID: 705507994}
- m_Layer: 0
- m_Name: Directional Light
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!108 &705507994
-Light:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 705507993}
- m_Enabled: 1
- serializedVersion: 10
- m_Type: 1
- m_Shape: 0
- m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
- m_Intensity: 1
- m_Range: 10
- m_SpotAngle: 30
- m_InnerSpotAngle: 21.80208
- m_CookieSize: 10
- m_Shadows:
- m_Type: 2
- m_Resolution: -1
- m_CustomResolution: -1
- m_Strength: 1
- m_Bias: 0.05
- m_NormalBias: 0.4
- m_NearPlane: 0.2
- m_CullingMatrixOverride:
- e00: 1
- e01: 0
- e02: 0
- e03: 0
- e10: 0
- e11: 1
- e12: 0
- e13: 0
- e20: 0
- e21: 0
- e22: 1
- e23: 0
- e30: 0
- e31: 0
- e32: 0
- e33: 1
- m_UseCullingMatrixOverride: 0
- m_Cookie: {fileID: 0}
- m_DrawHalo: 0
- m_Flare: {fileID: 0}
- m_RenderMode: 0
- m_CullingMask:
- serializedVersion: 2
- m_Bits: 4294967295
- m_RenderingLayerMask: 1
- m_Lightmapping: 1
- m_LightShadowCasterMode: 0
- m_AreaSize: {x: 1, y: 1}
- m_BounceIntensity: 1
- m_ColorTemperature: 6570
- m_UseColorTemperature: 0
- m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
- m_UseBoundingSphereOverride: 0
- m_UseViewFrustumForShadowCasterCull: 1
- m_ShadowRadius: 0
- m_ShadowAngle: 0
---- !u!4 &705507995
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 705507993}
- m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
- m_LocalPosition: {x: 0, y: 3, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 1
- m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
---- !u!1 &963194225
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 963194228}
- - component: {fileID: 963194227}
- - component: {fileID: 963194226}
- m_Layer: 0
- m_Name: Main Camera
- m_TagString: MainCamera
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!81 &963194226
-AudioListener:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 963194225}
- m_Enabled: 1
---- !u!20 &963194227
-Camera:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 963194225}
- m_Enabled: 1
- serializedVersion: 2
- m_ClearFlags: 1
- m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
- m_projectionMatrixMode: 1
- m_GateFitMode: 2
- m_FOVAxisMode: 0
- m_SensorSize: {x: 36, y: 24}
- m_LensShift: {x: 0, y: 0}
- m_FocalLength: 50
- m_NormalizedViewPortRect:
- serializedVersion: 2
- x: 0
- y: 0
- width: 1
- height: 1
- near clip plane: 0.3
- far clip plane: 1000
- field of view: 60
- orthographic: 0
- orthographic size: 5
- m_Depth: -1
- m_CullingMask:
- serializedVersion: 2
- m_Bits: 4294967295
- m_RenderingPath: -1
- m_TargetTexture: {fileID: 0}
- m_TargetDisplay: 0
- m_TargetEye: 3
- m_HDR: 1
- m_AllowMSAA: 1
- m_AllowDynamicResolution: 0
- m_ForceIntoRT: 0
- m_OcclusionCulling: 1
- m_StereoConvergence: 10
- m_StereoSeparation: 0.022
---- !u!4 &963194228
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 963194225}
- m_LocalRotation: {x: 0.5, y: 0.5, z: -0.5, w: 0.5}
- m_LocalPosition: {x: 0, y: 10, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 0
- m_LocalEulerAnglesHint: {x: 90, y: 90, z: 0}
---- !u!1 &998606744
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 998606745}
- - component: {fileID: 998606748}
- - component: {fileID: 998606747}
- - component: {fileID: 998606746}
- m_Layer: 0
- m_Name: Hair
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &998606745
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 998606744}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: -0.057, y: 0.083, z: 0}
- m_LocalScale: {x: 0.9, y: 0.9, z: 0.9}
- m_ConstrainProportionsScale: 1
- m_Children: []
- m_Father: {fileID: 1323803466}
- m_RootOrder: 3
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!135 &998606746
-SphereCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 998606744}
- m_Material: {fileID: 0}
- m_IsTrigger: 0
- m_Enabled: 1
- serializedVersion: 2
- m_Radius: 0.5
- m_Center: {x: 0, y: 0, z: 0}
---- !u!23 &998606747
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 998606744}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: f7909768a1b61354b8db10832a50a860, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &998606748
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 998606744}
- m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
---- !u!1 &1168245902
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1168245903}
- - component: {fileID: 1168245906}
- - component: {fileID: 1168245905}
- - component: {fileID: 1168245904}
- m_Layer: 0
- m_Name: Nose
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &1168245903
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1168245902}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0.495, y: 0, z: 0}
- m_LocalScale: {x: 0.25, y: 0.25, z: 0.25}
- m_ConstrainProportionsScale: 1
- m_Children: []
- m_Father: {fileID: 1289655001}
- m_RootOrder: 0
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!135 &1168245904
-SphereCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1168245902}
- m_Material: {fileID: 0}
- m_IsTrigger: 0
- m_Enabled: 1
- serializedVersion: 2
- m_Radius: 0.5
- m_Center: {x: 0, y: 0, z: 0}
---- !u!23 &1168245905
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1168245902}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 94b8848f4ddd5c54b94e9c7df938e104, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &1168245906
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1168245902}
- m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
---- !u!1 &1289654996
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1289655001}
- - component: {fileID: 1289655000}
- - component: {fileID: 1289654999}
- - component: {fileID: 1289654998}
- m_Layer: 0
- m_Name: PlayerGhost
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!135 &1289654998
-SphereCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1289654996}
- m_Material: {fileID: 0}
- m_IsTrigger: 0
- m_Enabled: 1
- serializedVersion: 2
- m_Radius: 0.5
- m_Center: {x: 0, y: 0, z: 0}
---- !u!23 &1289654999
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1289654996}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 79beada56b616294aa33ba08fba47fbf, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &1289655000
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1289654996}
- m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
---- !u!4 &1289655001
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1289654996}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 0.75, y: 0.75, z: 0.75}
- m_ConstrainProportionsScale: 1
- m_Children:
- - {fileID: 1168245903}
- - {fileID: 2102555075}
- - {fileID: 633430353}
- - {fileID: 2109866345}
- m_Father: {fileID: 0}
- m_RootOrder: 4
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &1300003874
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1300003876}
- - component: {fileID: 1300003875}
- m_Layer: 0
- m_Name: '[InputManager]'
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!114 &1300003875
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1300003874}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 1b6ed98ea0a745db9c83f65a7aeb16b4, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- NetworkManager: {fileID: 1999467622}
---- !u!4 &1300003876
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1300003874}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 6
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &1323803461
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1323803466}
- - component: {fileID: 1323803465}
- - component: {fileID: 1323803464}
- - component: {fileID: 1323803463}
- - component: {fileID: 1323803467}
- - component: {fileID: 1323803462}
- - component: {fileID: 1323803468}
- m_Layer: 0
- m_Name: Player
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!114 &1323803462
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1323803461}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 97616b67982a4be48d957d421e422433, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- UseUnreliableDeltas: 0
- SyncPositionX: 1
- SyncPositionY: 0
- SyncPositionZ: 1
- SyncRotAngleX: 0
- SyncRotAngleY: 1
- SyncRotAngleZ: 0
- SyncScaleX: 0
- SyncScaleY: 0
- SyncScaleZ: 0
- PositionThreshold: 0.001
- RotAngleThreshold: 0.01
- ScaleThreshold: 0.01
- UseQuaternionSynchronization: 0
- UseQuaternionCompression: 0
- UseHalfFloatPrecision: 0
- InLocalSpace: 0
- Interpolate: 0
- SlerpPosition: 0
- StaleDataHandling: 1
---- !u!135 &1323803463
-SphereCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1323803461}
- m_Material: {fileID: 0}
- m_IsTrigger: 0
- m_Enabled: 1
- serializedVersion: 2
- m_Radius: 0.5
- m_Center: {x: 0, y: 0, z: 0}
---- !u!23 &1323803464
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1323803461}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: de6faa52be7e8a04ca90031d3b30a5e4, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &1323803465
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1323803461}
- m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
---- !u!4 &1323803466
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1323803461}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children:
- - {fileID: 1534093158}
- - {fileID: 679347365}
- - {fileID: 471185169}
- - {fileID: 998606745}
- m_Father: {fileID: 0}
- m_RootOrder: 5
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &1323803467
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1323803461}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- GlobalObjectIdHash: 2282798113
- InScenePlacedSourceGlobalObjectIdHash: 0
- AlwaysReplicateAsRoot: 0
- SynchronizeTransform: 1
- ActiveSceneSynchronization: 0
- SceneMigrationSynchronization: 1
- SpawnWithObservers: 1
- DontDestroyWithOwner: 0
- AutoObjectParentSync: 1
---- !u!114 &1323803468
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1323803461}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: a9ed26aec89e49849b94a877f998e41c, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- GhostTrasform: {fileID: 1289655001}
- MyTransform: {fileID: 1323803462}
- InputManager: {fileID: 1300003875}
- SmoothTime: 0.1
- SmoothDistance: 3
---- !u!1 &1534093157
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1534093158}
- - component: {fileID: 1534093161}
- - component: {fileID: 1534093160}
- - component: {fileID: 1534093159}
- m_Layer: 0
- m_Name: Nose
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &1534093158
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1534093157}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0.495, y: 0, z: 0}
- m_LocalScale: {x: 0.25, y: 0.25, z: 0.25}
- m_ConstrainProportionsScale: 1
- m_Children: []
- m_Father: {fileID: 1323803466}
- m_RootOrder: 0
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!135 &1534093159
-SphereCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1534093157}
- m_Material: {fileID: 0}
- m_IsTrigger: 0
- m_Enabled: 1
- serializedVersion: 2
- m_Radius: 0.5
- m_Center: {x: 0, y: 0, z: 0}
---- !u!23 &1534093160
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1534093157}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: d1d621773c6ac224a92f5d92ada5911e, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &1534093161
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1534093157}
- m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
---- !u!1 &1999467621
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1999467623}
- - component: {fileID: 1999467622}
- - component: {fileID: 1999467624}
- m_Layer: 0
- m_Name: '[NetworkManager]'
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!114 &1999467622
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1999467621}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 593a2fe42fa9d37498c96f9a383b6521, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- NetworkConfig:
- ProtocolVersion: 0
- NetworkTransport: {fileID: 1999467624}
- PlayerPrefab: {fileID: 0}
- Prefabs:
- NetworkPrefabsLists: []
- TickRate: 30
- ClientConnectionBufferTimeout: 10
- ConnectionApproval: 0
- ConnectionData:
- EnableTimeResync: 0
- TimeResyncInterval: 30
- EnsureNetworkVariableLengthSafety: 0
- EnableSceneManagement: 1
- ForceSamePrefabs: 1
- RecycleNetworkIds: 1
- NetworkIdRecycleDelay: 120
- RpcHashSize: 0
- LoadSceneTimeOut: 120
- SpawnTimeout: 10
- EnableNetworkLogs: 1
- OldPrefabList: []
- RunInBackground: 1
- LogLevel: 1
---- !u!4 &1999467623
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1999467621}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 3
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &1999467624
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1999467621}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 6960e84d07fb87f47956e7a81d71c4e6, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_ProtocolType: 0
- m_MaxPacketQueueSize: 128
- m_MaxPayloadSize: 6144
- m_HeartbeatTimeoutMS: 500
- m_ConnectTimeoutMS: 1000
- m_MaxConnectAttempts: 60
- m_DisconnectTimeoutMS: 30000
- ConnectionData:
- Address: 127.0.0.1
- Port: 7777
- ServerListenAddress: 127.0.0.1
- DebugSimulator:
- PacketDelayMS: 0
- PacketJitterMS: 0
- PacketDropRate: 0
---- !u!1 &2102555074
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 2102555075}
- - component: {fileID: 2102555078}
- - component: {fileID: 2102555077}
- - component: {fileID: 2102555076}
- m_Layer: 0
- m_Name: Eye
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &2102555075
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2102555074}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0.385, y: 0.162, z: 0.182}
- m_LocalScale: {x: 0.15, y: 0.15, z: 0.15}
- m_ConstrainProportionsScale: 1
- m_Children: []
- m_Father: {fileID: 1289655001}
- m_RootOrder: 1
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!135 &2102555076
-SphereCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2102555074}
- m_Material: {fileID: 0}
- m_IsTrigger: 0
- m_Enabled: 1
- serializedVersion: 2
- m_Radius: 0.5
- m_Center: {x: 0, y: 0, z: 0}
---- !u!23 &2102555077
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2102555074}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 4ef362874b6df534aa2000ecc0a288f2, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &2102555078
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2102555074}
- m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
---- !u!1 &2109866344
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 2109866345}
- - component: {fileID: 2109866348}
- - component: {fileID: 2109866347}
- - component: {fileID: 2109866346}
- m_Layer: 0
- m_Name: Hair
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &2109866345
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2109866344}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: -0.057, y: 0.083, z: 0}
- m_LocalScale: {x: 0.9, y: 0.9, z: 0.9}
- m_ConstrainProportionsScale: 1
- m_Children: []
- m_Father: {fileID: 1289655001}
- m_RootOrder: 3
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!135 &2109866346
-SphereCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2109866344}
- m_Material: {fileID: 0}
- m_IsTrigger: 0
- m_Enabled: 1
- serializedVersion: 2
- m_Radius: 0.5
- m_Center: {x: 0, y: 0, z: 0}
---- !u!23 &2109866347
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2109866344}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 5e32caa1cc6029e4f87ef519941676d7, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &2109866348
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2109866344}
- m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
diff --git a/Experimental/Anticipation Sample/Assets/Scripts/AnticipationSample.cs b/Experimental/Anticipation Sample/Assets/Scripts/AnticipationSample.cs
deleted file mode 100644
index 9418cb47a..000000000
--- a/Experimental/Anticipation Sample/Assets/Scripts/AnticipationSample.cs
+++ /dev/null
@@ -1,302 +0,0 @@
-using System;
-using DefaultNamespace;
-using Unity.Collections;
-using UnityEngine;
-using Unity.Netcode;
-using Unity.Netcode.Transports.UTP;
-using UnityEditor;
-using Random = UnityEngine.Random;
-
-public class AnticipationSample : NetworkBehaviour
-{
- ///
- /// This value is a snap value with correct anticipation. When the player changes the value, an RPC will be
- /// sent to the server, and the server will change to the same value.
- ///
- public AnticipatedNetworkVariable ValueA = new AnticipatedNetworkVariable(0);
- ///
- /// This value is a snap value with incorrect anticipation. When the player changes the value, an RPC will be
- /// sent to the server, and the server will change to a random value. The anticipation will then snap to the
- /// new value.
- ///
- public AnticipatedNetworkVariable ValueB = new AnticipatedNetworkVariable(0);
-
- ///
- /// This value is a smooth value with correct anticipation. When the player changes the value, an RPC will be
- /// sent to the server, and the server will change to the same value. The result will be the same as a snap value
- /// on the local client, but will smooth when viewed on a remote client.
- ///
- public AnticipatedNetworkVariable ValueC = new AnticipatedNetworkVariable(0);
- ///
- /// This value is a smooth value with incorrect anticipation. When the player changes the value, an RPC will be
- /// sent to the server, and the server will change to a random value. The anticipation will then interpolate to the
- /// new value.
- ///
- public AnticipatedNetworkVariable ValueD = new AnticipatedNetworkVariable(0);
-
- ///
- /// This is a server-controlled value that gets updated by the server, and the client anticipates what it should be
- /// "now" based on the latency to the server (knowing that the value it sees from the server is actually in the past)
- ///
- /// Smoothing is applied every frame, while the Reanticipate callback is only called when data changes, so it is
- /// best to handle these kinds of situations via some logic in your game code rather than via jumps in the actual
- /// value in order to maintain the most consistent player experience.
- ///
- public AnticipatedNetworkVariable ValueE = new AnticipatedNetworkVariable(0, StaleDataHandling.Reanticipate);
-
- public NetworkManager NetworkManagerObject;
- public PlayerMovableObject Player;
-
- [Rpc(SendTo.Server)]
- void SetValueARpc(float value)
- {
- ValueA.AuthoritativeValue = value;
- LogEverywhereRpc($"Set value A to {ValueA.AuthoritativeValue}");
- }
-
- [Rpc(SendTo.Server)]
- void SetValueBRpc(float value)
- {
- ValueB.AuthoritativeValue = Random.Range(0f, 10f);
- LogEverywhereRpc($"Set value B to {ValueB.AuthoritativeValue}");
- }
-
- [Rpc(SendTo.Server)]
- void SetValueCRpc(float value)
- {
- var previousValue = ValueC.AuthoritativeValue;
- ValueC.AuthoritativeValue = value;
- ValueC.Smooth(previousValue, value, SmoothTime, Mathf.Lerp);
- LogEverywhereRpc($"Set value C to {ValueC.AuthoritativeValue}");
- }
-
- [Rpc(SendTo.Server)]
- void SetValueDRpc(float value)
- {
- ValueD.AuthoritativeValue = Random.Range(0f, 10f);
- LogEverywhereRpc($"Set value D to {ValueD.AuthoritativeValue}");
- }
-
- [Rpc(SendTo.Everyone)]
- void LogEverywhereRpc(FixedString128Bytes message)
- {
- Debug.Log(message.ToString());
- }
-
-
- private const float k_ValueEChangePerSecond = 2.5f;
-
- public override void OnNetworkSpawn()
- {
- // Initialize the reanticipation for all of the values:
- // C and D react to a request to reanticipate by simply smoothing between the previous anticipated value
- // and the new authoritative value. They are not frequently updated and only need any reanticipation action
- // when the anticipation was wrong.
- AnticipatedNetworkVariable.OnReanticipateDelegate smooth = (AnticipatedNetworkVariable variable, in float anticipatedValue, double anticipationTime, in float authoritativeValue, double authoritativeTime) =>
- {
- variable.Smooth(anticipatedValue, authoritativeValue, SmoothTime, Mathf.Lerp);
- };
- ValueC.OnReanticipate = smooth;
- ValueD.OnReanticipate = smooth;
-
- // E is actually trying to anticipate the current value of a constantly changing object to hide latency.
- // It uses the amount of time that has passed since the authoritativetime to gauge the latency of this update
- // and anticipates a new value based on that delay. The server value is in the past, so the predicted value
- // attempts to guess what the value is in the present.
- ValueE.OnReanticipate = (AnticipatedNetworkVariable variable, in float anticipatedValue, double anticipationTime, in float authoritativeValue, double authoritativeTime) =>
- {
- // There is an important distinction between the smoothing this is doing and the smoothing the player object
- // is doing:
- // For the player object, it is replaying everything that has happened over a full round trip, so it has to
- // account for the entire difference between the current time and the authoritative time.
- // For this variable, we are only extrapolating over the time that has passed since the server sent us this
- // value - the difference between current time and authoritativeTime represents a full round trip, but the
- // actual time difference here is only a half round trip, so we multiply by 0.5.
- // Then, because smoothing adds its own latency, we add the smooth time into the mix.
- var secondsBehind = (NetworkManager.LocalTime.Time - authoritativeTime) * 0.5f + SmoothTime;
-
- var newAnticipatedValue = (float)(authoritativeValue + k_ValueEChangePerSecond * secondsBehind) % 10;
-
- // This variable uses a custom interpolation callback that handles the drop from 10
- // down to 0. Without this, there is either weird smoothing behavior, or hitching.
- // This keeps the interpolation going, and handles the case where the interpolated value
- // goes over 10 and has to jump back to 0.
- variable.Smooth(anticipatedValue, newAnticipatedValue, SmoothTime, ((start, end, amount) =>
- {
- if (end < 3 && start > 7)
- {
- end += 10;
- }
-
- return Mathf.Lerp(start, end, amount) % 10;
- }));
- };
-
- AnticipatedNetworkVariable.OnAuthoritativeValueChangedDelegate onUpdate = (AnticipatedNetworkVariable variable, in float value, in float newValue) =>
- {
- Debug.Log($"{variable.Name} value updated to {newValue}");
- };
- ValueA.OnAuthoritativeValueChanged = onUpdate;
- ValueB.OnAuthoritativeValueChanged = onUpdate;
- ValueC.OnAuthoritativeValueChanged = onUpdate;
- ValueD.OnAuthoritativeValueChanged = onUpdate;
- }
-
- private void Update()
- {
- if (Restart && !NetworkManagerObject.IsListening && !NetworkManagerObject.ShutdownInProgress)
- {
- var unityTransport = NetworkManagerObject.NetworkConfig.NetworkTransport as UnityTransport;
- unityTransport.SetDebugSimulatorParameters(Latency, Jitter, 0);
- NetworkManagerObject.StartClient();
- Restart = false;
- }
- if (IsServer)
- {
- ValueE.AuthoritativeValue = (ValueE.AuthoritativeValue + k_ValueEChangePerSecond * Time.deltaTime) % 10;
- }
- }
-
- private int Latency = 200;
- private int Jitter = 25;
- private float SmoothTime = 0.25f;
- private bool Restart = false;
-
- void OnGUI()
- {
- Vector3 scale = new Vector3 (Screen.width / 910f, Screen.height / 600f, 1.0f);
- GUI.matrix = Matrix4x4.TRS (new Vector3(0, 0, 0), Quaternion.identity, scale);
- if (NetworkManagerObject.IsListening)
- {
- GUILayout.BeginArea(new Rect(0, 0, 900, 72));
- GUILayout.Label("Anticipated Network Variable:");
- GUILayout.Label("Each pair of sliders represents a network variable's authoritative and anticipate values. Changing the top slider sends an RPC to the server, which updates the bottom slider. The top slider shows the current 'anticipated' value, including any smoothing, while the bottom represents the authoritative value.");
- GUILayout.EndArea();
- GUILayout.BeginArea(new Rect(0, 72, 300, 300));
-
- GUILayout.BeginVertical("Box");
- GUILayout.Label("Value A (snap, correct anticipation):");
- var updatedValue = GUILayout.HorizontalSlider(ValueA.Value, 0, 10);
- if (updatedValue != ValueA.Value)
- {
- ValueA.Anticipate(updatedValue);
- SetValueARpc(updatedValue);
- }
- GUILayout.Label("Value A Current Server Value:");
- GUILayout.HorizontalSlider(ValueA.AuthoritativeValue, 0, 10);
- GUILayout.EndVertical();
-
- GUILayout.BeginVertical("Box");
- GUILayout.Label("Value B (snap, incorrect anticipation):");
- updatedValue = GUILayout.HorizontalSlider(ValueB.Value, 0, 10);
- if (updatedValue != ValueB.Value)
- {
- ValueB.Anticipate(updatedValue);
- SetValueBRpc(updatedValue);
- }
- GUILayout.Label("Value B Current Server Value:");
- GUILayout.HorizontalSlider(ValueB.AuthoritativeValue, 0, 10);
- GUILayout.EndVertical();
-
- GUILayout.EndArea();
- GUILayout.BeginArea(new Rect(305, 72, 300, 300));
-
- GUILayout.BeginVertical("Box");
- GUILayout.Label("Value C (smooth, correct anticipation):");
- updatedValue = GUILayout.HorizontalSlider(ValueC.Value, 0, 10);
- if (updatedValue != ValueC.Value)
- {
- ValueC.Anticipate(updatedValue);
- SetValueCRpc(updatedValue);
- }
- GUILayout.Label("Value C Current Server Value:");
- GUILayout.HorizontalSlider(ValueC.AuthoritativeValue, 0, 10);
- GUILayout.EndVertical();
-
- GUILayout.BeginVertical("Box");
- GUILayout.Label("Value D (smooth, incorrect anticipation):");
- updatedValue = GUILayout.HorizontalSlider(ValueD.Value, 0, 10);
- if (updatedValue != ValueD.Value)
- {
- ValueD.Anticipate(updatedValue);
- SetValueDRpc(updatedValue);
- }
- GUILayout.Label("Value D Current Server Value:");
- GUILayout.HorizontalSlider(ValueD.AuthoritativeValue, 0, 10);
- GUILayout.EndVertical();
-
- GUILayout.EndArea();
- GUILayout.BeginArea(new Rect(610, 72, 300, 300));
-
- GUILayout.BeginVertical("Box");
- GUILayout.Label("Value E (Server-controlled, continuous anticipation):");
- GUILayout.HorizontalSlider(ValueE.Value, 0, 10);
- GUILayout.Label("Value E Current Server Value:");
- GUILayout.HorizontalSlider(ValueE.AuthoritativeValue, 0, 10);
- GUILayout.EndVertical();
-
- if (IsClient)
- {
- GUILayout.Label("");
- GUILayout.Label($"Variable smooth duration: {SmoothTime}s");
- SmoothTime = GUILayout.HorizontalSlider(SmoothTime, 0, 1);
- }
-
- GUILayout.EndArea();
- if(IsClient)
- {
- GUILayout.BeginArea(new Rect(0, 310, 600, 300));
- GUILayout.Label("Anticipated Network Transform controls:");
- GUILayout.Label("W: Move Forward | S: Move Backward | A: Turn Left | D: Turn Right");
- GUILayout.Label("Q: Large random teleport (very different server result)");
- GUILayout.Label("E: Small random teleport (slightly different server result)");
- GUILayout.Label("R: Return to center (same server result)");
- GUILayout.Label("");
-
- GUILayout.Label($"Transform smooth duration: {Player.SmoothTime}s");
- Player.SmoothTime = GUILayout.HorizontalSlider(Player.SmoothTime, 0, 1);
- GUILayout.Label($"Transform smooth distance threshold: {Player.SmoothDistance}");
- Player.SmoothDistance = GUILayout.HorizontalSlider(Player.SmoothDistance, 0, 50);
- if (GUILayout.Button("Toggle Server Visualization (Follower)"))
- {
- foreach (var childRenderer in Player.GhostTrasform.GetComponentsInChildren())
- {
- childRenderer.enabled = !childRenderer.enabled;
- }
- }
- GUILayout.EndArea();
- GUILayout.BeginArea(new Rect(610, 456, 300, 150));
- GUILayout.Label($"Latency: {Latency}ms");
- Latency = (int)GUILayout.HorizontalSlider(Latency, 0, 300);
- GUILayout.Label($"Jitter: {Jitter}ms");
- Jitter = (int)GUILayout.HorizontalSlider(Jitter, 0, 50);
- if (GUILayout.Button("Apply"))
- {
- Restart = true;
- NetworkManagerObject.Shutdown();
- }
- GUILayout.EndArea();
- }
- }
- else
- {
- GUILayout.BeginArea(new Rect(0, 0, 300, 600));
-
- if (!NetworkManagerObject.IsListening && !Restart){
- if (GUILayout.Button("Start Server"))
- {
- var unityTransport = NetworkManagerObject.NetworkConfig.NetworkTransport as UnityTransport;
- unityTransport.SetDebugSimulatorParameters(Latency, Jitter, 0);
- NetworkManagerObject.StartServer();
- }
- if (GUILayout.Button("Start Client"))
- {
- var unityTransport = NetworkManagerObject.NetworkConfig.NetworkTransport as UnityTransport;
- unityTransport.SetDebugSimulatorParameters(Latency, Jitter, 0);
- NetworkManagerObject.StartClient();
- }
- }
- GUILayout.EndArea();
- }
- }
-}
diff --git a/Experimental/Anticipation Sample/Assets/Scripts/FrameHistory.cs b/Experimental/Anticipation Sample/Assets/Scripts/FrameHistory.cs
deleted file mode 100644
index 3b574d039..000000000
--- a/Experimental/Anticipation Sample/Assets/Scripts/FrameHistory.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-using System.Collections.Generic;
-using UnityEngine;
-
-namespace DefaultNamespace
-{
- ///
- /// Simple container to store historical data associated with a frame for the sake of replaying that data.
- /// Main use case in this demo is storing historical input for the player character so we can replay those inputs
- /// when we need to re-anticipate a new location based on updated server data.
- ///
- ///
- public class FrameHistory
- {
- public struct ItemFrameData
- {
- public double Time;
- public T Item;
- }
- private List m_History = new List();
-
- ///
- /// Add a value to the history for the current frame.
- /// This generally expects that items will be added to the history in the order that they occur
- /// (i.e., each call to this has a time with a greater value than the previous). Nothing enforces this
- /// expectation, but failure to follow it could result in things being replayed out of order later, as
- /// there is no sorting done within this class.
- ///
- ///
- ///
- public void Add(double time, T value)
- {
- m_History.Add(new ItemFrameData{Time = time, Item = value});
- }
-
- ///
- /// Remove all items before a given time. Useful to keep memory usage from growing by discarding old data
- /// that you know you won't need anymore.
- ///
- ///
- public void RemoveBefore(double time)
- {
- m_History.RemoveAll(item => item.Time < time);
- }
-
- ///
- /// Remove all items after a given time. Useful if the data you are storing here needs to be replaced
- /// as part of a re-anticipation action (i.e., if you are storing some historical position data and want
- /// to recalculate everything after a given time)
- ///
- ///
- public void RemoveAfter(double time)
- {
- m_History.RemoveAll(item => item.Time > time);
- }
-
- ///
- /// Get the full history, useful for iterating through all the values to reapply them when reanticipating.
- ///
- ///
- public List GetHistory()
- {
- return m_History;
- }
- }
-}
diff --git a/Experimental/Anticipation Sample/Assets/Scripts/FrameHistory.cs.meta b/Experimental/Anticipation Sample/Assets/Scripts/FrameHistory.cs.meta
deleted file mode 100644
index ebda3c641..000000000
--- a/Experimental/Anticipation Sample/Assets/Scripts/FrameHistory.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: b061435d7730439eb17d106018f17703
-timeCreated: 1707415328
\ No newline at end of file
diff --git a/Experimental/Anticipation Sample/Assets/Scripts/InputList.cs b/Experimental/Anticipation Sample/Assets/Scripts/InputList.cs
deleted file mode 100644
index faedbafad..000000000
--- a/Experimental/Anticipation Sample/Assets/Scripts/InputList.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using System;
-
-namespace DefaultNamespace
-{
- ///
- /// Simple enum representing the player inputs that are used by this little demo.
- /// Quick and efficient to send over the network when no analog inputs are needed (all inputs are binary on or off)
- ///
- [Flags]
- public enum InputList
- {
- Up = 1 << 0,
- Left = 1 << 1,
- Down = 1 << 2,
- Right = 1 << 3,
- RandomTeleport = 1 << 4,
- SmallRandomTeleport = 1 << 5,
- PredictableTeleport = 1 << 6,
- }
-}
diff --git a/Experimental/Anticipation Sample/Assets/Scripts/InputList.cs.meta b/Experimental/Anticipation Sample/Assets/Scripts/InputList.cs.meta
deleted file mode 100644
index 7d0c7314f..000000000
--- a/Experimental/Anticipation Sample/Assets/Scripts/InputList.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 53a0b06fd8bf4100844f7c9cf655b5f4
-timeCreated: 1707415356
\ No newline at end of file
diff --git a/Experimental/Anticipation Sample/Assets/Scripts/InputManager.cs b/Experimental/Anticipation Sample/Assets/Scripts/InputManager.cs
deleted file mode 100644
index 2cab5008f..000000000
--- a/Experimental/Anticipation Sample/Assets/Scripts/InputManager.cs
+++ /dev/null
@@ -1,106 +0,0 @@
-using System;
-using System.Collections.Generic;
-using Unity.Netcode;
-using UnityEngine;
-using UnityEngine.PlayerLoop;
-
-namespace DefaultNamespace
-{
- ///
- /// Stores current and historical player input and allows that input to be queried.
- /// Could be optimized to cache the input and re-read at the start of each frame instead of reading
- /// when GetInput() is called. If this were used in more than one place, that would be necessary,
- /// as it would otherwise result in multiple inputs being pushed into the history each frame.
- ///
- public class InputManager : MonoBehaviour
- {
- public NetworkManager NetworkManager;
- private FrameHistory m_HistoricalInput = new FrameHistory();
- private InputList m_LastInput;
-
- ///
- /// Retrieve input for the current frame.
- ///
- ///
- public InputList GetInput()
- {
- if (!NetworkManager.IsListening)
- {
- return 0;
- }
-
- InputList input = 0;
- if (Input.GetKey(KeyCode.W))
- {
- input |= InputList.Up;
- }
- if (Input.GetKey(KeyCode.A))
- {
- input |= InputList.Left;
- }
- if (Input.GetKey(KeyCode.S))
- {
- input |= InputList.Down;
- }
- if (Input.GetKey(KeyCode.D))
- {
- input |= InputList.Right;
- }
- if (Input.GetKey(KeyCode.Q))
- {
- input |= InputList.RandomTeleport;
- }
- if (Input.GetKey(KeyCode.E))
- {
- input |= InputList.SmallRandomTeleport;
- }
- if (Input.GetKey(KeyCode.R))
- {
- input |= InputList.PredictableTeleport;
- }
-
- // To simulate checks for GetKeyDown while in FixedUpdate:
- // We store the unaltered input each frame. Then we alter the current frame's input
- // so that if these buttons were pressed, we remove them from the input we are going to
- // return and add to the history. That ensure no two input frames in a row contain these inputs,
- // while still letting us do the input polling within FixedUpdate.
- var lastInput = m_LastInput;
- m_LastInput = input;
-
- if ((lastInput & InputList.RandomTeleport) != 0)
- {
- input &= ~InputList.RandomTeleport;
- }
- if ((lastInput & InputList.SmallRandomTeleport) != 0)
- {
- input &= ~InputList.SmallRandomTeleport;
- }
- if ((lastInput & InputList.PredictableTeleport) != 0)
- {
- input &= ~InputList.PredictableTeleport;
- }
-
- m_HistoricalInput.Add(NetworkManager.LocalTime.Time, input);
-
- return input;
- }
-
- ///
- /// Remove historical input before the given time
- ///
- ///
- public void RemoveBefore(double time)
- {
- m_HistoricalInput.RemoveBefore(time);
- }
-
- ///
- /// Retrieves historical inputs
- ///
- ///
- public List.ItemFrameData> GetHistory()
- {
- return m_HistoricalInput.GetHistory();
- }
- }
-}
diff --git a/Experimental/Anticipation Sample/Assets/Scripts/InputManager.cs.meta b/Experimental/Anticipation Sample/Assets/Scripts/InputManager.cs.meta
deleted file mode 100644
index d758b0a6d..000000000
--- a/Experimental/Anticipation Sample/Assets/Scripts/InputManager.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 1b6ed98ea0a745db9c83f65a7aeb16b4
-timeCreated: 1707416682
\ No newline at end of file
diff --git a/Experimental/Anticipation Sample/Assets/Scripts/PlayerMovableObject.cs b/Experimental/Anticipation Sample/Assets/Scripts/PlayerMovableObject.cs
deleted file mode 100644
index 443dc4cee..000000000
--- a/Experimental/Anticipation Sample/Assets/Scripts/PlayerMovableObject.cs
+++ /dev/null
@@ -1,198 +0,0 @@
-using System;
-using Unity.Mathematics;
-using Unity.Netcode;
-using Unity.Netcode.Components;
-using UnityEngine;
-using Random = UnityEngine.Random;
-
-namespace DefaultNamespace
-{
- public class PlayerMovableObject : NetworkBehaviour
- {
- public Transform GhostTrasform;
- public AnticipatedNetworkTransform MyTransform;
- public InputManager InputManager;
- public float SmoothTime = 0.1f;
- public float SmoothDistance = 3f;
-
- private Vector3 m_LastTeleportLocation;
- private Quaternion m_LastTeleportRotation;
-
- ///
- /// Handles movement for a given frame, moving the player according to the delta time recorded
- ///
- ///
- ///
- public void Move(InputList inputs, bool replay = false)
- {
- if ((inputs & InputList.Up) != 0)
- {
- var newPosition = transform.position + transform.right * (Time.fixedDeltaTime * 4);
- MyTransform.AnticipateMove(newPosition);
- }
-
- if ((inputs & InputList.Down) != 0)
- {
- var newPosition = transform.position - transform.right * (Time.fixedDeltaTime * 4);
- MyTransform.AnticipateMove(newPosition);
- }
-
- if ((inputs & InputList.Left) != 0)
- {
- transform.Rotate(Vector3.up, -180f * Time.fixedDeltaTime);
- MyTransform.AnticipateRotate(transform.rotation);
- }
-
- if ((inputs & InputList.Right) != 0)
- {
- transform.Rotate(Vector3.up, 180f * Time.fixedDeltaTime);
- MyTransform.AnticipateRotate(transform.rotation);
- }
-
- if ((inputs & InputList.RandomTeleport) != 0)
- {
- var newPosition = new Vector3(Random.Range(-5, 5), 0, Random.Range(-10, 10));
- var newRotation = Quaternion.LookRotation(new Vector3(Random.Range(-5, 5), 0, Random.Range(-10, 10)));
- // This ensures consistent replays: When we teleport on a replay, we want to go back to the same place
- // we went originally. Otherwise, every replay will have us bouncing around random teleports every frame.
- if (replay)
- {
- newPosition = m_LastTeleportLocation;
- newRotation = m_LastTeleportRotation;
- }
- else
- {
- m_LastTeleportLocation = newPosition;
- m_LastTeleportRotation = newRotation;
- }
- MyTransform.AnticipateMove(newPosition);
- MyTransform.AnticipateRotate(newRotation);
- }
-
- if ((inputs & InputList.SmallRandomTeleport) != 0)
- {
- var newPosition = new Vector3(Random.Range(-0.5f, 0.5f), 0, Random.Range(-0.5f, 0.5f));
- var newRotation = Quaternion.LookRotation(new Vector3(Random.Range(-0.5f, 0.5f), 0, 1));
- if (replay)
- {
- newPosition = m_LastTeleportLocation;
- newRotation = m_LastTeleportRotation;
- }
- else
- {
- m_LastTeleportLocation = newPosition;
- m_LastTeleportRotation = newRotation;
- }
- MyTransform.AnticipateMove(newPosition);
- MyTransform.AnticipateRotate(newRotation);
- }
-
- if ((inputs & InputList.PredictableTeleport) != 0)
- {
- var newPosition = new Vector3(0, 0, 0);
- var newRotation = Quaternion.LookRotation(new Vector3(0, 0, 1));
- if (replay)
- {
- newPosition = m_LastTeleportLocation;
- newRotation = m_LastTeleportRotation;
- }
- else
- {
- m_LastTeleportLocation = newPosition;
- m_LastTeleportRotation = newRotation;
- }
- MyTransform.AnticipateMove(newPosition);
- MyTransform.AnticipateRotate(newRotation);
- }
- }
-
- public override void OnNetworkSpawn()
- {
- MyTransform.OnReanticipate = (networkTransform, anticipatedValue, anticipationTime, authorityValue, authorityTime) =>
- {
- // Here we re-anticipate the new position of the player based on the updated server position.
- // We do this by taking the current authoritative position and replaying every input we have received
- // since the reported authority time, re-applying all the movement we have applied since then
- // to arrive at a new anticipated player location.
- foreach (var item in InputManager.GetHistory())
- {
- if (item.Time <= authorityTime)
- {
- continue;
- }
-
- Move(item.Item, true);
- }
- // Clear out all the input history before the given authority time. We don't need anything before that
- // anymore as we won't get any more updates from the server from before this one. We keep the current
- // authority time because theoretically another system may need that.
- InputManager.RemoveBefore(authorityTime);
- // It's not always desirable to smooth the transform. In cases of very large discrepencies in state,
- // it can sometimes be desirable to simply teleport to the new position. We use the SmoothDistance
- // value (and use SqrMagnitude instead of Distance for efficiency) as a threshold for teleportation.
- // This could also use other mechanisms of detection: For example, when the Telport input is included
- // in the replay set, we could set a flag to disable smoothing because we know we are teleporting.
- if (SmoothTime != 0.0 && Vector3.SqrMagnitude(anticipatedValue.Position - networkTransform.AnticipatedState.Position) < SmoothDistance * SmoothDistance)
- {
- // Server updates are not necessarily smooth, so applying reanticipation can also result in
- // hitchy, unsmooth animations. To compensate for that, we call this to smooth from the previous
- // anticipated state (stored in "anticipatedValue") to the new state (which, because we have used
- // the "Move" method that updates the anticipated state of the transform, is now the current
- // transform anticipated state)
- networkTransform.Smooth(anticipatedValue, networkTransform.AnticipatedState, SmoothTime);
- }
- };
- base.OnNetworkSpawn();
-
- }
-
- ///
- /// Pass client inputs to the server so the server can mirror the client simulation.
- ///
- /// This is sent once per FixedUpdate frame from the client, so even though this does not necessarily happen
- /// in FixedUpdate on the server, it will be processed using Time.fixedUpdateTime to ensure consistency of
- /// simulations between the two.
- ///
- ///
- [Rpc(SendTo.Server)]
- private void ServerMoveRpc(InputList inputs)
- {
- var currentPosition = MyTransform.AnticipatedState;
- // Calling Anticipate functions on the authority sets the authority value, too, so we can
- // just reuse the same method here with no problem.
- Move(inputs);
- // Server can use Smoothing for interpolation purposes as well.
- MyTransform.Smooth(currentPosition, MyTransform.AuthorityState, SmoothTime);
- }
-
- public void Update()
- {
- // The "ghost transform" here is a little smaller player object that shows the current authority position,
- // which is a few frames behind our anticipated value. This helps render the difference.
- GhostTrasform.position = MyTransform.AuthorityState.Position;
- GhostTrasform.rotation = MyTransform.AuthorityState.Rotation;
- GhostTrasform.localScale = MyTransform.AuthorityState.Scale * 0.75f;
- }
-
- // Input processing happens in FixedUpdate rather than Update because the frame rate of server and client
- // may not exactly match, and if that is the case, doing movement in Update based on Time.deltaTime could
- // result in significantly different calculations between the server and client, meaning greater opportunities
- // for desync. Performing updates in FixedUpdate does not guarantee no desync, but it makes the calculations
- // more consistent between the two. It also means that we don't have to worry about delta times when replaying
- // inputs when we get updates - we can assume a fixed amount of time for each input. Otherwise, we would have
- // to store the delta time of each input and replay using those delta times to get consistent results.
- public void FixedUpdate()
- {
- if (!NetworkManager.IsConnectedClient)
- {
- return;
- }
- if (!IsServer)
- {
- var inputs = InputManager.GetInput();
- Move(inputs);
- ServerMoveRpc(inputs);
- }
- }
- }
-}
diff --git a/Experimental/Anticipation Sample/Assets/Scripts/PlayerMovableObject.cs.meta b/Experimental/Anticipation Sample/Assets/Scripts/PlayerMovableObject.cs.meta
deleted file mode 100644
index 512d21f15..000000000
--- a/Experimental/Anticipation Sample/Assets/Scripts/PlayerMovableObject.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: a9ed26aec89e49849b94a877f998e41c
-timeCreated: 1707417071
\ No newline at end of file
diff --git a/Experimental/Anticipation Sample/Packages/manifest.json b/Experimental/Anticipation Sample/Packages/manifest.json
deleted file mode 100644
index e4ae29654..000000000
--- a/Experimental/Anticipation Sample/Packages/manifest.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "dependencies": {
- "com.unity.collab-proxy": "2.0.5",
- "com.unity.feature.development": "1.0.1",
- "com.unity.ide.rider": "3.0.24",
- "com.unity.ide.visualstudio": "2.0.18",
- "com.unity.ide.vscode": "1.2.5",
- "com.unity.netcode.gameobjects": "https://github.com/Unity-Technologies/com.unity.netcode.gameobjects.git?path=/com.unity.netcode.gameobjects#feat/NetworkVariable_Traits_And_Anticipation",
- "com.unity.test-framework": "1.1.33",
- "com.unity.textmeshpro": "3.0.6",
- "com.unity.timeline": "1.6.5",
- "com.unity.ugui": "1.0.0",
- "com.unity.visualscripting": "1.8.0",
- "com.unity.modules.ai": "1.0.0",
- "com.unity.modules.androidjni": "1.0.0",
- "com.unity.modules.animation": "1.0.0",
- "com.unity.modules.assetbundle": "1.0.0",
- "com.unity.modules.audio": "1.0.0",
- "com.unity.modules.cloth": "1.0.0",
- "com.unity.modules.director": "1.0.0",
- "com.unity.modules.imageconversion": "1.0.0",
- "com.unity.modules.imgui": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0",
- "com.unity.modules.particlesystem": "1.0.0",
- "com.unity.modules.physics": "1.0.0",
- "com.unity.modules.physics2d": "1.0.0",
- "com.unity.modules.screencapture": "1.0.0",
- "com.unity.modules.terrain": "1.0.0",
- "com.unity.modules.terrainphysics": "1.0.0",
- "com.unity.modules.tilemap": "1.0.0",
- "com.unity.modules.ui": "1.0.0",
- "com.unity.modules.uielements": "1.0.0",
- "com.unity.modules.umbra": "1.0.0",
- "com.unity.modules.unityanalytics": "1.0.0",
- "com.unity.modules.unitywebrequest": "1.0.0",
- "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
- "com.unity.modules.unitywebrequestaudio": "1.0.0",
- "com.unity.modules.unitywebrequesttexture": "1.0.0",
- "com.unity.modules.unitywebrequestwww": "1.0.0",
- "com.unity.modules.vehicles": "1.0.0",
- "com.unity.modules.video": "1.0.0",
- "com.unity.modules.vr": "1.0.0",
- "com.unity.modules.wind": "1.0.0",
- "com.unity.modules.xr": "1.0.0"
- }
-}
diff --git a/Experimental/Anticipation Sample/Packages/packages-lock.json b/Experimental/Anticipation Sample/Packages/packages-lock.json
deleted file mode 100644
index 26418160a..000000000
--- a/Experimental/Anticipation Sample/Packages/packages-lock.json
+++ /dev/null
@@ -1,447 +0,0 @@
-{
- "dependencies": {
- "com.unity.burst": {
- "version": "1.6.6",
- "depth": 2,
- "source": "registry",
- "dependencies": {
- "com.unity.mathematics": "1.2.1"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.collab-proxy": {
- "version": "2.0.5",
- "depth": 0,
- "source": "registry",
- "dependencies": {},
- "url": "https://packages.unity.com"
- },
- "com.unity.collections": {
- "version": "1.2.4",
- "depth": 2,
- "source": "registry",
- "dependencies": {
- "com.unity.burst": "1.6.6",
- "com.unity.test-framework": "1.1.31"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.editorcoroutines": {
- "version": "1.0.0",
- "depth": 1,
- "source": "registry",
- "dependencies": {},
- "url": "https://packages.unity.com"
- },
- "com.unity.ext.nunit": {
- "version": "1.0.6",
- "depth": 1,
- "source": "registry",
- "dependencies": {},
- "url": "https://packages.unity.com"
- },
- "com.unity.feature.development": {
- "version": "1.0.1",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.ide.visualstudio": "2.0.18",
- "com.unity.ide.rider": "3.0.24",
- "com.unity.ide.vscode": "1.2.5",
- "com.unity.editorcoroutines": "1.0.0",
- "com.unity.performance.profile-analyzer": "1.2.2",
- "com.unity.test-framework": "1.1.33",
- "com.unity.testtools.codecoverage": "1.2.4"
- }
- },
- "com.unity.ide.rider": {
- "version": "3.0.24",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.ext.nunit": "1.0.6"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.ide.visualstudio": {
- "version": "2.0.18",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.test-framework": "1.1.9"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.ide.vscode": {
- "version": "1.2.5",
- "depth": 0,
- "source": "registry",
- "dependencies": {},
- "url": "https://packages.unity.com"
- },
- "com.unity.mathematics": {
- "version": "1.2.6",
- "depth": 2,
- "source": "registry",
- "dependencies": {},
- "url": "https://packages.unity.com"
- },
- "com.unity.netcode.gameobjects": {
- "version": "https://github.com/Unity-Technologies/com.unity.netcode.gameobjects.git?path=/com.unity.netcode.gameobjects#feat/NetworkVariable_Traits_And_Anticipation",
- "depth": 0,
- "source": "git",
- "dependencies": {
- "com.unity.nuget.mono-cecil": "1.10.1",
- "com.unity.transport": "1.4.0"
- },
- "hash": "6eec9634c17a2d16fb18dbca56c0a3280ff2c39e"
- },
- "com.unity.nuget.mono-cecil": {
- "version": "1.10.1",
- "depth": 1,
- "source": "registry",
- "dependencies": {},
- "url": "https://packages.unity.com"
- },
- "com.unity.performance.profile-analyzer": {
- "version": "1.2.2",
- "depth": 1,
- "source": "registry",
- "dependencies": {},
- "url": "https://packages.unity.com"
- },
- "com.unity.settings-manager": {
- "version": "1.0.3",
- "depth": 2,
- "source": "registry",
- "dependencies": {},
- "url": "https://packages.unity.com"
- },
- "com.unity.test-framework": {
- "version": "1.1.33",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.ext.nunit": "1.0.6",
- "com.unity.modules.imgui": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.testtools.codecoverage": {
- "version": "1.2.4",
- "depth": 1,
- "source": "registry",
- "dependencies": {
- "com.unity.test-framework": "1.0.16",
- "com.unity.settings-manager": "1.0.1"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.textmeshpro": {
- "version": "3.0.6",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.ugui": "1.0.0"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.timeline": {
- "version": "1.6.5",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.modules.director": "1.0.0",
- "com.unity.modules.animation": "1.0.0",
- "com.unity.modules.audio": "1.0.0",
- "com.unity.modules.particlesystem": "1.0.0"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.transport": {
- "version": "1.4.0",
- "depth": 1,
- "source": "registry",
- "dependencies": {
- "com.unity.collections": "1.2.4",
- "com.unity.burst": "1.6.6",
- "com.unity.mathematics": "1.2.6"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.ugui": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.ui": "1.0.0",
- "com.unity.modules.imgui": "1.0.0"
- }
- },
- "com.unity.visualscripting": {
- "version": "1.8.0",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.ugui": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.modules.ai": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.androidjni": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.animation": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.assetbundle": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.audio": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.cloth": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.physics": "1.0.0"
- }
- },
- "com.unity.modules.director": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.audio": "1.0.0",
- "com.unity.modules.animation": "1.0.0"
- }
- },
- "com.unity.modules.imageconversion": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.imgui": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.jsonserialize": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.particlesystem": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.physics": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.physics2d": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.screencapture": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.imageconversion": "1.0.0"
- }
- },
- "com.unity.modules.subsystems": {
- "version": "1.0.0",
- "depth": 1,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.jsonserialize": "1.0.0"
- }
- },
- "com.unity.modules.terrain": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.terrainphysics": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.physics": "1.0.0",
- "com.unity.modules.terrain": "1.0.0"
- }
- },
- "com.unity.modules.tilemap": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.physics2d": "1.0.0"
- }
- },
- "com.unity.modules.ui": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.uielements": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.ui": "1.0.0",
- "com.unity.modules.imgui": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0",
- "com.unity.modules.uielementsnative": "1.0.0"
- }
- },
- "com.unity.modules.uielementsnative": {
- "version": "1.0.0",
- "depth": 1,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.ui": "1.0.0",
- "com.unity.modules.imgui": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0"
- }
- },
- "com.unity.modules.umbra": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.unityanalytics": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.unitywebrequest": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0"
- }
- },
- "com.unity.modules.unitywebrequest": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.unitywebrequestassetbundle": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.assetbundle": "1.0.0",
- "com.unity.modules.unitywebrequest": "1.0.0"
- }
- },
- "com.unity.modules.unitywebrequestaudio": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.unitywebrequest": "1.0.0",
- "com.unity.modules.audio": "1.0.0"
- }
- },
- "com.unity.modules.unitywebrequesttexture": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.unitywebrequest": "1.0.0",
- "com.unity.modules.imageconversion": "1.0.0"
- }
- },
- "com.unity.modules.unitywebrequestwww": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.unitywebrequest": "1.0.0",
- "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
- "com.unity.modules.unitywebrequestaudio": "1.0.0",
- "com.unity.modules.audio": "1.0.0",
- "com.unity.modules.assetbundle": "1.0.0",
- "com.unity.modules.imageconversion": "1.0.0"
- }
- },
- "com.unity.modules.vehicles": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.physics": "1.0.0"
- }
- },
- "com.unity.modules.video": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.audio": "1.0.0",
- "com.unity.modules.ui": "1.0.0",
- "com.unity.modules.unitywebrequest": "1.0.0"
- }
- },
- "com.unity.modules.vr": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.jsonserialize": "1.0.0",
- "com.unity.modules.physics": "1.0.0",
- "com.unity.modules.xr": "1.0.0"
- }
- },
- "com.unity.modules.wind": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.xr": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.physics": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0",
- "com.unity.modules.subsystems": "1.0.0"
- }
- }
- }
-}
diff --git a/Experimental/Anticipation Sample/ProjectSettings/BurstAotSettings_StandaloneOSX.json b/Experimental/Anticipation Sample/ProjectSettings/BurstAotSettings_StandaloneOSX.json
deleted file mode 100644
index 56f4abebb..000000000
--- a/Experimental/Anticipation Sample/ProjectSettings/BurstAotSettings_StandaloneOSX.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "MonoBehaviour": {
- "Version": 4,
- "EnableBurstCompilation": true,
- "EnableOptimisations": true,
- "EnableSafetyChecks": false,
- "EnableDebugInAllBuilds": false,
- "UsePlatformSDKLinker": false,
- "CpuMinTargetX32": 0,
- "CpuMaxTargetX32": 0,
- "CpuMinTargetX64": 0,
- "CpuMaxTargetX64": 0,
- "CpuTargetsX64": 72,
- "OptimizeFor": 0
- }
-}
diff --git a/Experimental/Anticipation Sample/ProjectSettings/BurstAotSettings_StandaloneWindows.json b/Experimental/Anticipation Sample/ProjectSettings/BurstAotSettings_StandaloneWindows.json
deleted file mode 100644
index e02ae3320..000000000
--- a/Experimental/Anticipation Sample/ProjectSettings/BurstAotSettings_StandaloneWindows.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "MonoBehaviour": {
- "Version": 4,
- "EnableBurstCompilation": true,
- "EnableOptimisations": true,
- "EnableSafetyChecks": false,
- "EnableDebugInAllBuilds": false,
- "UsePlatformSDKLinker": false,
- "CpuMinTargetX32": 0,
- "CpuMaxTargetX32": 0,
- "CpuMinTargetX64": 0,
- "CpuMaxTargetX64": 0,
- "CpuTargetsX32": 6,
- "CpuTargetsX64": 72,
- "OptimizeFor": 0
- }
-}
diff --git a/Experimental/Anticipation Sample/ProjectSettings/CommonBurstAotSettings.json b/Experimental/Anticipation Sample/ProjectSettings/CommonBurstAotSettings.json
deleted file mode 100644
index 0293dafc8..000000000
--- a/Experimental/Anticipation Sample/ProjectSettings/CommonBurstAotSettings.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "MonoBehaviour": {
- "Version": 4,
- "DisabledWarnings": ""
- }
-}
diff --git a/Experimental/Anticipation Sample/ProjectSettings/EditorBuildSettings.asset b/Experimental/Anticipation Sample/ProjectSettings/EditorBuildSettings.asset
deleted file mode 100644
index 40917b058..000000000
--- a/Experimental/Anticipation Sample/ProjectSettings/EditorBuildSettings.asset
+++ /dev/null
@@ -1,11 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1045 &1
-EditorBuildSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_Scenes:
- - enabled: 1
- path: Assets/Scenes/SampleScene.unity
- guid: 9fc0d4010bbf28b4594072e72b8655ab
- m_configObjects: {}
diff --git a/Experimental/Anticipation Sample/ProjectSettings/InputManager.asset b/Experimental/Anticipation Sample/ProjectSettings/InputManager.asset
deleted file mode 100644
index 17c8f538e..000000000
--- a/Experimental/Anticipation Sample/ProjectSettings/InputManager.asset
+++ /dev/null
@@ -1,295 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!13 &1
-InputManager:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_Axes:
- - serializedVersion: 3
- m_Name: Horizontal
- descriptiveName:
- descriptiveNegativeName:
- negativeButton: left
- positiveButton: right
- altNegativeButton: a
- altPositiveButton: d
- gravity: 3
- dead: 0.001
- sensitivity: 3
- snap: 1
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Vertical
- descriptiveName:
- descriptiveNegativeName:
- negativeButton: down
- positiveButton: up
- altNegativeButton: s
- altPositiveButton: w
- gravity: 3
- dead: 0.001
- sensitivity: 3
- snap: 1
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Fire1
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: left ctrl
- altNegativeButton:
- altPositiveButton: mouse 0
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Fire2
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: left alt
- altNegativeButton:
- altPositiveButton: mouse 1
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Fire3
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: left shift
- altNegativeButton:
- altPositiveButton: mouse 2
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Jump
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: space
- altNegativeButton:
- altPositiveButton:
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Mouse X
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton:
- altNegativeButton:
- altPositiveButton:
- gravity: 0
- dead: 0
- sensitivity: 0.1
- snap: 0
- invert: 0
- type: 1
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Mouse Y
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton:
- altNegativeButton:
- altPositiveButton:
- gravity: 0
- dead: 0
- sensitivity: 0.1
- snap: 0
- invert: 0
- type: 1
- axis: 1
- joyNum: 0
- - serializedVersion: 3
- m_Name: Mouse ScrollWheel
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton:
- altNegativeButton:
- altPositiveButton:
- gravity: 0
- dead: 0
- sensitivity: 0.1
- snap: 0
- invert: 0
- type: 1
- axis: 2
- joyNum: 0
- - serializedVersion: 3
- m_Name: Horizontal
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton:
- altNegativeButton:
- altPositiveButton:
- gravity: 0
- dead: 0.19
- sensitivity: 1
- snap: 0
- invert: 0
- type: 2
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Vertical
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton:
- altNegativeButton:
- altPositiveButton:
- gravity: 0
- dead: 0.19
- sensitivity: 1
- snap: 0
- invert: 1
- type: 2
- axis: 1
- joyNum: 0
- - serializedVersion: 3
- m_Name: Fire1
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: joystick button 0
- altNegativeButton:
- altPositiveButton:
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Fire2
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: joystick button 1
- altNegativeButton:
- altPositiveButton:
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Fire3
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: joystick button 2
- altNegativeButton:
- altPositiveButton:
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Jump
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: joystick button 3
- altNegativeButton:
- altPositiveButton:
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Submit
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: return
- altNegativeButton:
- altPositiveButton: joystick button 0
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Submit
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: enter
- altNegativeButton:
- altPositiveButton: space
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Cancel
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: escape
- altNegativeButton:
- altPositiveButton: joystick button 1
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
diff --git a/Experimental/Anticipation Sample/ProjectSettings/ProjectVersion.txt b/Experimental/Anticipation Sample/ProjectSettings/ProjectVersion.txt
deleted file mode 100644
index 9cd738f3a..000000000
--- a/Experimental/Anticipation Sample/ProjectSettings/ProjectVersion.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-m_EditorVersion: 2021.3.28f1
-m_EditorVersionWithRevision: 2021.3.28f1 (232e59c3f087)
diff --git a/Experimental/Anticipation Sample/ProjectSettings/boot.config b/Experimental/Anticipation Sample/ProjectSettings/boot.config
deleted file mode 100644
index e69de29bb..000000000
diff --git a/Experimental/Anticipation Sample/README.md b/Experimental/Anticipation Sample/README.md
deleted file mode 100644
index e49566525..000000000
--- a/Experimental/Anticipation Sample/README.md
+++ /dev/null
@@ -1,55 +0,0 @@
-# Anticipation Sample
-
-[](https://unity.com/releases/editor/whats-new/2022.3.0)
-[](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/tree/feat/NetworkVariable_Traits_And_Anticipation)
-
-
-This sample provides examples for how the Client Anticipation feature of Netcode for GameObjects 1.9.0 can be used. It covers several use cases:
-
-- **AnticipatedNetworkVariable:**
- - Moving network variables more responsive by anticipating server actions based on player interaction ("When the player clicks this button, they shouldn't have to wait for the server before they see it update.")
- - Handling incorrect anticipation ("If clicking the button fails, it changes back to its previous value")
- - Latency compensation for server-controlled values ("this progress bar value is from 100ms in the past due to latency, we can calculate where we expect it to be now")
- - Smoothing on incorrect anticipation ("If this progress bar moved to the wrong place, it moves smoothly to the correct one")
- - Smoothing on the server/host side ("when the client changes this progress bar, move it smoothly on the server/host")
-- **AnticipatedNetworkTransform:**
- - Responsive server-authoritative player movement:
- - By sending only input to the server, but also processing input locally to anticipate what we expect the server to do with that input, movement of a server-authoritative player object can be immediately responsive on the local client.
- - Storing input history over time allows replaying inputs to calculate a new anticipated position every time the server position updates
- - Smoothing can allow smooth interpolated movement between a previous anticipated state and a new one when small fluctuations and floating point errors result in slightly different outcomes
- - Smooth movement from other players:
- - Even without actually anticipating player movement based on latency, the `OnReanticipate` callback can call into `Smooth` on each update to create smooth player movement. (This replaces the normal Interpolate option on `NetworkTransform` when using `AnticipatedNetworkTransform`, and is shown in this sample.)
- - This is also shown on the server/host, where `Smooth` is called during the remote input handling RPC
-
-
-
-## Sample overview
-
-**It is recommended that you build this sample using development builds.** The reason is that it uses the UTP network simulator to simulate 100ms of latency so that the latency compensation is easier to see, and the simulator is not available outside of the editor and development builds. Running on localhost without the simulator makes the latency very small, which makes the effectiveness of these techniques difficult to notice.
-
-This sample shows NetworkVariables with a series of paired sliders. In each slider, the top value represents the current client local anticipated value and the bottom value represents the current authoritative value (which is to say, the most recent value we received from the server). This helps to show how anticipation hides latency - the top slider shows what AnticipatedNetworkVariable shows to the user, while the bottom value shows what a regular NetworkVariable would show if it were used instead. There are five different types of variables shown here:
-
-- The first two (left common) are a common use case: a snap variable, where if the server for some reason does something different than we expect it to, the value will simply be updated and "snap" to the new authoritative value. The top one is the expected outcome (the server updates to the value we wanted it to) and shows the latency masking of the feature; the bottom one simulates an error condition on the server where the value changes to something other than what we wanted it to, in which case the top (anticipated) value snaps to the new value when it updates.
-- The second two (middle column) match the first two, but add smoothing when the anticipated value is wrong. With only one client, there's no difference in behavior between the top left and top middle variables, but you can see the difference if you launch a second client: when one client changes the value, the other will smoothly interpolate to the new value. (This sample is set to always use smoothing for these variables; theoretically, though, a variable could conditionally smooth based on whether or not it had done an anticipation on the value.)
-- The third one (right column) shows a value that slowly increments on the server, using reanticipation and smoothing to mask the latency and smooth out the jitter. You can see this easily if you place the server window over the client window: the authoritative value will be significantly behind what the server is rendering due to latency, but the anticipated value will more closely match the server value.
-- The top middle one also shows host-side smoothing - the `Smooth` call is called during the RPC that updates the value, and allows the server/host's display value to be smoothed while the actual authoritative value snaps immediately to be communicated to the other clients.
-
-In addition to these NetworkVariables, there is also a player character (which moves using tank controls) to show AnticipatedNetworkTransform. There are a few things you can see here:
-
-- On the client controlling the character, you can see the current value in the white character, and the authoritative value in the smaller gray character that follows behind it.
-- On a second client, you can see the smoothing action of the other client's movement, contrasted with the jitter in the gray authoritative character.
-- On the server, the `Smooth` method is called in `PlayerMovableObject.ServerMoveRpc` and performs visual smoothing of the transform. This visual smoothing only affects the rendering of the object (as smoothing its actual location would make it impossible for the client side to actually anticipate positions accurately), so the smaller gray character represents the object's actual location (which is used for things like physics) in contrast to the visible "smoothed" location.
-- By pressing Q and E, you can simulate error cases where the player on the server ends up in a significantly different place than the player on the client. Q will jump the player to a random position, while the server will jump it to a different random position, leading to the client having to reconcile and update to the new correct position. E will jump the player to a random position near the center of the map, so the distance that it will have to travel to reconcile will be smaller.
-- By pressing R, you can simulate a predicted teleport: the client object will jump to the center of the screen and the server object will quickly catch up with no reconciliation necessary.
-- Additionally, there is a slider you can use to control the smoothing of the network transform: by default it is set to interpolate over 0.1 seconds, but this slider lets you see how changing that value affects the feel of the smoothing. Setting it to 0 will disable smoothing entirely, showing you what reanticipation without smoothing looks like (some jitter)
-
----
-### 💡 Bitesize Readme
-Check out our main [Bitesize Samples GitHub Readme](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.bitesize#readme) for more documentation, resources, releases, contribution guidelines, and our feedback form.
-
----
-
-
-[](https://docs-multiplayer.unity3d.com/netcode/current/learn/bitesize/bitesize-introduction)
-[](https://forum.unity.com/forums/multiplayer.26/)
-[](https://discord.gg/FM8SE9E)
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/AdditionalBuildFiles/Client/startupConfiguration.json b/Experimental/DedicatedGameServer/AdditionalBuildFiles/Client/startupConfiguration.json
new file mode 100644
index 000000000..32bdfad50
--- /dev/null
+++ b/Experimental/DedicatedGameServer/AdditionalBuildFiles/Client/startupConfiguration.json
@@ -0,0 +1,5 @@
+{
+ "MinPlayers" : "2",
+ "MaxPlayers" : "8",
+ "AutoConnect" : "false"
+}
diff --git a/Experimental/DedicatedGameServer/AdditionalBuildFiles/Server/startupConfiguration.json b/Experimental/DedicatedGameServer/AdditionalBuildFiles/Server/startupConfiguration.json
new file mode 100644
index 000000000..32bdfad50
--- /dev/null
+++ b/Experimental/DedicatedGameServer/AdditionalBuildFiles/Server/startupConfiguration.json
@@ -0,0 +1,5 @@
+{
+ "MinPlayers" : "2",
+ "MaxPlayers" : "8",
+ "AutoConnect" : "false"
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Art.meta b/Experimental/DedicatedGameServer/Assets/Art.meta
new file mode 100644
index 000000000..f5efbfde2
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 59b0db232e0269742ae223646a0825e1
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Art/AnimationControllers.meta b/Experimental/DedicatedGameServer/Assets/Art/AnimationControllers.meta
new file mode 100644
index 000000000..c89c7b356
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/AnimationControllers.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 10b1c67895cb7804295b7afb7d6c3f9e
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Art/AnimationControllers/Doors.controller b/Experimental/DedicatedGameServer/Assets/Art/AnimationControllers/Doors.controller
new file mode 100644
index 000000000..1a539c711
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/AnimationControllers/Doors.controller
@@ -0,0 +1,318 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1101 &-8109663692570670116
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions: []
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: 8816974342364473919}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0
+ m_ExitTime: 0
+ m_HasExitTime: 1
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1101 &-7868673417921602834
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 1
+ m_ConditionEvent: IsOpen
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: -2511412907286190678}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0
+ m_ExitTime: 1
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1101 &-6607234303839928804
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 1
+ m_ConditionEvent: IsOpen
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: -2511412907286190678}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0
+ m_ExitTime: 0.875
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1102 &-6377626787077025099
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: DoorsClosing
+ m_Speed: -1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: -3966561286611949930}
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: c24b3a53986a6574daabf6bc11926c66, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1101 &-3966561286611949930
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions: []
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: 920240465759688668}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0
+ m_ExitTime: 0
+ m_HasExitTime: 1
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1101 &-3120085851513404271
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 2
+ m_ConditionEvent: IsOpen
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: -6377626787077025099}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0
+ m_ExitTime: 1
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1102 &-2511412907286190678
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: DoorsOpening
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: -8109663692570670116}
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: c24b3a53986a6574daabf6bc11926c66, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1102 &-659066060162491225
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Initial (closed)
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: -6607234303839928804}
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: 3f54dbe3e47aad043a00a5acad8f6475, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!91 &9100000
+AnimatorController:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Doors
+ serializedVersion: 5
+ m_AnimatorParameters:
+ - m_Name: IsOpen
+ m_Type: 4
+ m_DefaultFloat: 0
+ m_DefaultInt: 0
+ m_DefaultBool: 0
+ m_Controller: {fileID: 0}
+ m_AnimatorLayers:
+ - serializedVersion: 5
+ m_Name: Base Layer
+ m_StateMachine: {fileID: 9048393945745215554}
+ m_Mask: {fileID: 0}
+ m_Motions: []
+ m_Behaviours: []
+ m_BlendingMode: 0
+ m_SyncedLayerIndex: -1
+ m_DefaultWeight: 0
+ m_IKPass: 0
+ m_SyncedLayerAffectsTiming: 0
+ m_Controller: {fileID: 9100000}
+--- !u!1102 &920240465759688668
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: DoorsClosed
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: -7868673417921602834}
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: 3f54dbe3e47aad043a00a5acad8f6475, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1102 &8816974342364473919
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: DoorsOpen
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: -3120085851513404271}
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: fc8d2922c40cdf14d9243aacb299fe54, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1107 &9048393945745215554
+AnimatorStateMachine:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Base Layer
+ m_ChildStates:
+ - serializedVersion: 1
+ m_State: {fileID: -6377626787077025099}
+ m_Position: {x: 30, y: 540, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: -659066060162491225}
+ m_Position: {x: 30, y: 230, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: -2511412907286190678}
+ m_Position: {x: 30, y: 350, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: 8816974342364473919}
+ m_Position: {x: -120, y: 440, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: 920240465759688668}
+ m_Position: {x: 180, y: 440, z: 0}
+ m_ChildStateMachines: []
+ m_AnyStateTransitions: []
+ m_EntryTransitions: []
+ m_StateMachineTransitions: {}
+ m_StateMachineBehaviours: []
+ m_AnyStatePosition: {x: 50, y: 20, z: 0}
+ m_EntryPosition: {x: 50, y: 120, z: 0}
+ m_ExitPosition: {x: 800, y: 120, z: 0}
+ m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
+ m_DefaultState: {fileID: -659066060162491225}
diff --git a/Experimental/DedicatedGameServer/Assets/Art/AnimationControllers/Doors.controller.meta b/Experimental/DedicatedGameServer/Assets/Art/AnimationControllers/Doors.controller.meta
new file mode 100644
index 000000000..19550f94a
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/AnimationControllers/Doors.controller.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d868fefb08efbe24b8ba83d4e4797803
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 9100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Animations.meta b/Experimental/DedicatedGameServer/Assets/Art/Animations.meta
new file mode 100644
index 000000000..24d536bb8
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Animations.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 934f76fec7ff1e74fa53c7ae94ae54ea
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Animations/DoorsClosed.anim b/Experimental/DedicatedGameServer/Assets/Art/Animations/DoorsClosed.anim
new file mode 100644
index 000000000..34b6446a5
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Animations/DoorsClosed.anim
@@ -0,0 +1,405 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: DoorsClosed
+ serializedVersion: 7
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves:
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 1, y: 3.05, z: 0.3}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path: Door
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 1, y: 3.05, z: 0.3}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path: Door (1)
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 1, y: 3.05, z: 0.3}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path: Door (2)
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 1, y: 3.05, z: 0.3}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path: Door (3)
+ m_FloatCurves: []
+ m_PPtrCurves: []
+ m_SampleRate: 60
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings:
+ - serializedVersion: 2
+ path: 718797587
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 3711436522
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 4128593193
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 4010697832
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ pptrCurveMapping: []
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0
+ m_OrientationOffsetY: 0
+ m_Level: 0
+ m_CycleOffset: 0
+ m_HasAdditiveReferencePose: 0
+ m_LoopTime: 1
+ m_LoopBlend: 0
+ m_LoopBlendOrientation: 0
+ m_LoopBlendPositionY: 0
+ m_LoopBlendPositionXZ: 0
+ m_KeepOriginalOrientation: 0
+ m_KeepOriginalPositionY: 1
+ m_KeepOriginalPositionXZ: 0
+ m_HeightFromFeet: 0
+ m_Mirror: 0
+ m_EditorCurves:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path: Door
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 3.05
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path: Door
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path: Door
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path: Door (1)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 3.05
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path: Door (1)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path: Door (1)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path: Door (2)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 3.05
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path: Door (2)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path: Door (2)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path: Door (3)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 3.05
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path: Door (3)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path: Door (3)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Animations/DoorsClosed.anim.meta b/Experimental/DedicatedGameServer/Assets/Art/Animations/DoorsClosed.anim.meta
new file mode 100644
index 000000000..1731fc32d
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Animations/DoorsClosed.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3f54dbe3e47aad043a00a5acad8f6475
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Animations/DoorsOpen.anim b/Experimental/DedicatedGameServer/Assets/Art/Animations/DoorsOpen.anim
new file mode 100644
index 000000000..038bad95a
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Animations/DoorsOpen.anim
@@ -0,0 +1,405 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: DoorsOpen
+ serializedVersion: 7
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves:
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 1, y: 0, z: 0.3}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path: Door
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 1, y: 0, z: 0.3}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path: Door (1)
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 1, y: 0, z: 0.3}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path: Door (2)
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 1, y: 0, z: 0.3}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path: Door (3)
+ m_FloatCurves: []
+ m_PPtrCurves: []
+ m_SampleRate: 60
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings:
+ - serializedVersion: 2
+ path: 718797587
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 3711436522
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 4128593193
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 4010697832
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ pptrCurveMapping: []
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0
+ m_OrientationOffsetY: 0
+ m_Level: 0
+ m_CycleOffset: 0
+ m_HasAdditiveReferencePose: 0
+ m_LoopTime: 1
+ m_LoopBlend: 0
+ m_LoopBlendOrientation: 0
+ m_LoopBlendPositionY: 0
+ m_LoopBlendPositionXZ: 0
+ m_KeepOriginalOrientation: 0
+ m_KeepOriginalPositionY: 1
+ m_KeepOriginalPositionXZ: 0
+ m_HeightFromFeet: 0
+ m_Mirror: 0
+ m_EditorCurves:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path: Door
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0.15848269
+ outSlope: 0.15848269
+ tangentMode: 0
+ weightedMode: 3
+ inWeight: 0.24822432
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path: Door
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path: Door
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path: Door (1)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0.15848269
+ outSlope: 0.15848269
+ tangentMode: 0
+ weightedMode: 3
+ inWeight: 0.24822432
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path: Door (1)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path: Door (1)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path: Door (2)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0.15848269
+ outSlope: 0.15848269
+ tangentMode: 0
+ weightedMode: 3
+ inWeight: 0.24822432
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path: Door (2)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path: Door (2)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path: Door (3)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path: Door (3)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path: Door (3)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Animations/DoorsOpen.anim.meta b/Experimental/DedicatedGameServer/Assets/Art/Animations/DoorsOpen.anim.meta
new file mode 100644
index 000000000..93702cb75
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Animations/DoorsOpen.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fc8d2922c40cdf14d9243aacb299fe54
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Animations/DoorsOpening.anim b/Experimental/DedicatedGameServer/Assets/Art/Animations/DoorsOpening.anim
new file mode 100644
index 000000000..c8664e53a
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Animations/DoorsOpening.anim
@@ -0,0 +1,549 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: DoorsOpening
+ serializedVersion: 7
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves:
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 1, y: 3.05, z: 0.3}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ - serializedVersion: 3
+ time: 0.2
+ value: {x: 1, y: 0, z: 0.3}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path: Door
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 1, y: 3.05, z: 0.3}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ - serializedVersion: 3
+ time: 0.2
+ value: {x: 1, y: 0, z: 0.3}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path: Door (1)
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 1, y: 3.05, z: 0.3}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ - serializedVersion: 3
+ time: 0.2
+ value: {x: 1, y: 0, z: 0.3}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path: Door (2)
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 1, y: 3.05, z: 0.3}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ - serializedVersion: 3
+ time: 0.2
+ value: {x: 1, y: 0, z: 0.3}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path: Door (3)
+ m_FloatCurves: []
+ m_PPtrCurves: []
+ m_SampleRate: 60
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings:
+ - serializedVersion: 2
+ path: 718797587
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 3711436522
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 4128593193
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 4010697832
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ pptrCurveMapping: []
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0.2
+ m_OrientationOffsetY: 0
+ m_Level: 0
+ m_CycleOffset: 0
+ m_HasAdditiveReferencePose: 0
+ m_LoopTime: 1
+ m_LoopBlend: 0
+ m_LoopBlendOrientation: 0
+ m_LoopBlendPositionY: 0
+ m_LoopBlendPositionXZ: 0
+ m_KeepOriginalOrientation: 0
+ m_KeepOriginalPositionY: 1
+ m_KeepOriginalPositionXZ: 0
+ m_HeightFromFeet: 0
+ m_Mirror: 0
+ m_EditorCurves:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.2
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path: Door
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 3.05
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.2
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path: Door
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.2
+ value: 0.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path: Door
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.2
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path: Door (1)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 3.05
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.2
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path: Door (1)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.2
+ value: 0.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path: Door (1)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.2
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path: Door (2)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 3.05
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.2
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path: Door (2)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.2
+ value: 0.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path: Door (2)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.2
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path: Door (3)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 3.05
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.2
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path: Door (3)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.2
+ value: 0.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path: Door (3)
+ classID: 4
+ script: {fileID: 0}
+ flags: 0
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Animations/DoorsOpening.anim.meta b/Experimental/DedicatedGameServer/Assets/Art/Animations/DoorsOpening.anim.meta
new file mode 100644
index 000000000..a75d2eeaf
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Animations/DoorsOpening.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c24b3a53986a6574daabf6bc11926c66
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/Anticipation Sample/Assets/Materials.meta b/Experimental/DedicatedGameServer/Assets/Art/Materials.meta
similarity index 77%
rename from Experimental/Anticipation Sample/Assets/Materials.meta
rename to Experimental/DedicatedGameServer/Assets/Art/Materials.meta
index cfc5971cf..66efc963a 100644
--- a/Experimental/Anticipation Sample/Assets/Materials.meta
+++ b/Experimental/DedicatedGameServer/Assets/Art/Materials.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: d5980539f9c5b7048ac1628b94146422
+guid: ca0d124ceb53d8a4695f49cc72a5be81
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Materials/Characters.meta b/Experimental/DedicatedGameServer/Assets/Art/Materials/Characters.meta
new file mode 100644
index 000000000..6ef61008a
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Materials/Characters.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bbb95e063cda5a34183d8cf14c88d7cc
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Materials/Characters/AI.mat b/Experimental/DedicatedGameServer/Assets/Art/Materials/Characters/AI.mat
new file mode 100644
index 000000000..cdef9205c
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Materials/Characters/AI.mat
@@ -0,0 +1,75 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-9066431466686095688
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 9
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: AI
+ m_Shader: {fileID: -6465566751694194690, guid: 3b629c9a5aee9564c8c9d929dc53af2f, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords:
+ - _ISAI
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses:
+ - MOTIONVECTORS
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _AITexture:
+ m_Texture: {fileID: 2800000, guid: 1cabe4565fb391c4390169f7da86e893, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _NumberMask:
+ m_Texture: {fileID: 2800000, guid: 30255b5b5bf0bb442be459612fd37d83, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _PlayerNumberArrayTexture:
+ m_Texture: {fileID: 2800000, guid: 49e0e6a0c30723b448ba15e97fe8a0c2, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _ISAI: 1
+ - _QueueControl: 0
+ - _QueueOffset: 0
+ m_Colors:
+ - _AIColor: {r: 1, g: 1, b: 1, a: 1}
+ - _PlayerColor: {r: 1, g: 1, b: 1, a: 1}
+ - _PlayerNumber: {r: 2, g: 3, b: 0, a: 0}
+ m_BuildTextureStacks: []
+ m_AllowLocking: 1
diff --git a/Experimental/Anticipation Sample/Assets/Materials/Brown.mat.meta b/Experimental/DedicatedGameServer/Assets/Art/Materials/Characters/AI.mat.meta
similarity index 79%
rename from Experimental/Anticipation Sample/Assets/Materials/Brown.mat.meta
rename to Experimental/DedicatedGameServer/Assets/Art/Materials/Characters/AI.mat.meta
index 3337130bd..933b21673 100644
--- a/Experimental/Anticipation Sample/Assets/Materials/Brown.mat.meta
+++ b/Experimental/DedicatedGameServer/Assets/Art/Materials/Characters/AI.mat.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: f7909768a1b61354b8db10832a50a860
+guid: ce99b24409f616a4a8bc7bf3b2a9a532
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Materials/Characters/PlayerNumber.mat b/Experimental/DedicatedGameServer/Assets/Art/Materials/Characters/PlayerNumber.mat
new file mode 100644
index 000000000..d90f9d9f3
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Materials/Characters/PlayerNumber.mat
@@ -0,0 +1,75 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-9066431466686095688
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 9
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: PlayerNumber
+ m_Shader: {fileID: -6465566751694194690, guid: 3b629c9a5aee9564c8c9d929dc53af2f, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses:
+ - MOTIONVECTORS
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _AITexture:
+ m_Texture: {fileID: 2800000, guid: 1cabe4565fb391c4390169f7da86e893, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _NumberMask:
+ m_Texture: {fileID: 2800000, guid: 30255b5b5bf0bb442be459612fd37d83, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _PlayerNumberArrayTexture:
+ m_Texture: {fileID: 2800000, guid: 49e0e6a0c30723b448ba15e97fe8a0c2, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _ISAI: 0
+ - _NumberCloseness: 0.05
+ - _QueueControl: 0
+ - _QueueOffset: 0
+ m_Colors:
+ - _AIColor: {r: 1, g: 1, b: 1, a: 1}
+ - _PlayerColor: {r: 1, g: 1, b: 1, a: 1}
+ - _PlayerNumber: {r: 0, g: 0, b: 0, a: 0}
+ m_BuildTextureStacks: []
+ m_AllowLocking: 1
diff --git a/Experimental/Anticipation Sample/Assets/Materials/Black.mat.meta b/Experimental/DedicatedGameServer/Assets/Art/Materials/Characters/PlayerNumber.mat.meta
similarity index 79%
rename from Experimental/Anticipation Sample/Assets/Materials/Black.mat.meta
rename to Experimental/DedicatedGameServer/Assets/Art/Materials/Characters/PlayerNumber.mat.meta
index cc6562a29..0f0cd94a3 100644
--- a/Experimental/Anticipation Sample/Assets/Materials/Black.mat.meta
+++ b/Experimental/DedicatedGameServer/Assets/Art/Materials/Characters/PlayerNumber.mat.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: c7ded805a1e4e3f469663303348e0be7
+guid: 4352062ee34947245aa05cc514db73ee
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment.meta b/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment.meta
new file mode 100644
index 000000000..31ac6a32b
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fcbaaae335b7fac4bb1ec0fef47730c6
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridBlue_01_Triplanar.mat b/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridBlue_01_Triplanar.mat
new file mode 100644
index 000000000..abc15e5d6
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridBlue_01_Triplanar.mat
@@ -0,0 +1,141 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: GridBlue_01_Triplanar
+ m_Shader: {fileID: -6465566751694194690, guid: a50e618b53949d24986f7b2be327ec9a, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 2
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses:
+ - MOTIONVECTORS
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 2800000, guid: d1118dda59970a2449ee890fa247c4c5, type: 3}
+ m_Scale: {x: 30, y: 30}
+ m_Offset: {x: 0.004, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 2800000, guid: c5c221ed57a3bf6488f8eba0db28a004, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 2800000, guid: d4d6919451fe3e24388816386a6d15a4, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: d1118dda59970a2449ee890fa247c4c5, type: 3}
+ m_Scale: {x: 30, y: 30}
+ m_Offset: {x: 0.004, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AddPrecomputedVelocity: 0
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _Emissive_Strength: 3
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.477
+ - _GlossyReflections: 1
+ - _Metallic: 0.1
+ - _Mode: 0
+ - _Normal_Strength: 1
+ - _OcclusionStrength: 0
+ - _Parallax: 0.02
+ - _QueueControl: 0
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.1
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _Triplanar_Tiling: 2
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.27038085, g: 0.6601244, b: 0.8773585, a: 1}
+ - _Color: {r: 0.27038082, g: 0.66012436, b: 0.8773585, a: 1}
+ - _EmissionColor: {r: 0.27058825, g: 0.65882355, b: 0.8784314, a: 1}
+ - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
+ m_BuildTextureStacks: []
+ m_AllowLocking: 1
+--- !u!114 &4889104241632654758
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 9
diff --git a/Experimental/Anticipation Sample/Assets/Materials/Black Ghost.mat.meta b/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridBlue_01_Triplanar.mat.meta
similarity index 79%
rename from Experimental/Anticipation Sample/Assets/Materials/Black Ghost.mat.meta
rename to Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridBlue_01_Triplanar.mat.meta
index 4a0f0aa81..7ec2cf906 100644
--- a/Experimental/Anticipation Sample/Assets/Materials/Black Ghost.mat.meta
+++ b/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridBlue_01_Triplanar.mat.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 4ef362874b6df534aa2000ecc0a288f2
+guid: 2bffc485e1623fe419d9ac763b6a858b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridGray_01_Triplanar.mat b/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridGray_01_Triplanar.mat
new file mode 100644
index 000000000..8223c9e4f
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridGray_01_Triplanar.mat
@@ -0,0 +1,141 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-5788133031919579493
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 9
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: GridGray_01_Triplanar
+ m_Shader: {fileID: -6465566751694194690, guid: a50e618b53949d24986f7b2be327ec9a, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 2
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses:
+ - MOTIONVECTORS
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 2800000, guid: d9c0dd5cdac07b145be73329e489869a, type: 3}
+ m_Scale: {x: 12, y: 3}
+ m_Offset: {x: 0.004, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 2800000, guid: c5c221ed57a3bf6488f8eba0db28a004, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 2800000, guid: d4d6919451fe3e24388816386a6d15a4, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: d9c0dd5cdac07b145be73329e489869a, type: 3}
+ m_Scale: {x: 12, y: 3}
+ m_Offset: {x: 0.004, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AddPrecomputedVelocity: 0
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _Emissive_Strength: 3
+ - _EnvironmentReflections: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.477
+ - _GlossyReflections: 0
+ - _Metallic: 0.1
+ - _Mode: 0
+ - _Normal_Strength: 1
+ - _OcclusionStrength: 0
+ - _Parallax: 0.02
+ - _QueueControl: 0
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.1
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _Triplanar_Tiling: 2
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.59900004, g: 0.59900004, b: 0.59900004, a: 1}
+ - _Color: {r: 0.599, g: 0.599, b: 0.599, a: 1}
+ - _EmissionColor: {r: 0.741, g: 0.741, b: 0.741, a: 1}
+ - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
+ m_BuildTextureStacks: []
+ m_AllowLocking: 1
diff --git a/Experimental/Anticipation Sample/Assets/Materials/Brown Ghost.mat.meta b/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridGray_01_Triplanar.mat.meta
similarity index 79%
rename from Experimental/Anticipation Sample/Assets/Materials/Brown Ghost.mat.meta
rename to Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridGray_01_Triplanar.mat.meta
index c5438849a..7de1a714d 100644
--- a/Experimental/Anticipation Sample/Assets/Materials/Brown Ghost.mat.meta
+++ b/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridGray_01_Triplanar.mat.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 5e32caa1cc6029e4f87ef519941676d7
+guid: e59b457e7a5124b4291e17c4a49d026e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridOrange_01_Triplanar.mat b/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridOrange_01_Triplanar.mat
new file mode 100644
index 000000000..41ba72072
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridOrange_01_Triplanar.mat
@@ -0,0 +1,141 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: GridOrange_01_Triplanar
+ m_Shader: {fileID: -6465566751694194690, guid: a50e618b53949d24986f7b2be327ec9a, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 2
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses:
+ - MOTIONVECTORS
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 2800000, guid: d9c0dd5cdac07b145be73329e489869a, type: 3}
+ m_Scale: {x: 30, y: 4}
+ m_Offset: {x: 0.004, y: -0.5}
+ - _BumpMap:
+ m_Texture: {fileID: 2800000, guid: c5c221ed57a3bf6488f8eba0db28a004, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 2800000, guid: d4d6919451fe3e24388816386a6d15a4, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: d9c0dd5cdac07b145be73329e489869a, type: 3}
+ m_Scale: {x: 30, y: 4}
+ m_Offset: {x: 0.004, y: -0.5}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AddPrecomputedVelocity: 0
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _Emissive_Strength: 3
+ - _EnvironmentReflections: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.477
+ - _GlossyReflections: 0
+ - _Metallic: 0.1
+ - _Mode: 0
+ - _Normal_Strength: 1
+ - _OcclusionStrength: 0
+ - _Parallax: 0.02
+ - _QueueControl: 0
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.1
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _Triplanar_Tiling: 2
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 1, g: 0.5985916, b: 0, a: 1}
+ - _Color: {r: 1, g: 0.5985916, b: 0, a: 1}
+ - _EmissionColor: {r: 1, g: 0.71156776, b: 0.11800003, a: 1}
+ - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
+ m_BuildTextureStacks: []
+ m_AllowLocking: 1
+--- !u!114 &4628965128947302990
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 9
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridOrange_01_Triplanar.mat.meta b/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridOrange_01_Triplanar.mat.meta
new file mode 100644
index 000000000..7a324a9bf
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridOrange_01_Triplanar.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 12a5e352a862a8d45a334b1ec043d19d
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridWhite_01_Triplanar.mat b/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridWhite_01_Triplanar.mat
new file mode 100644
index 000000000..27d2ebc56
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridWhite_01_Triplanar.mat
@@ -0,0 +1,141 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-5788133031919579493
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 9
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: GridWhite_01_Triplanar
+ m_Shader: {fileID: -6465566751694194690, guid: a50e618b53949d24986f7b2be327ec9a, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 2
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses:
+ - MOTIONVECTORS
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 2800000, guid: d9c0dd5cdac07b145be73329e489869a, type: 3}
+ m_Scale: {x: 12, y: 3}
+ m_Offset: {x: 0.004, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 2800000, guid: c5c221ed57a3bf6488f8eba0db28a004, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 2800000, guid: d4d6919451fe3e24388816386a6d15a4, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: d9c0dd5cdac07b145be73329e489869a, type: 3}
+ m_Scale: {x: 12, y: 3}
+ m_Offset: {x: 0.004, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AddPrecomputedVelocity: 0
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _Emissive_Strength: 3
+ - _EnvironmentReflections: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.477
+ - _GlossyReflections: 0
+ - _Metallic: 0.1
+ - _Mode: 0
+ - _Normal_Strength: 1
+ - _OcclusionStrength: 0
+ - _Parallax: 0.02
+ - _QueueControl: 0
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.1
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _Triplanar_Tiling: 2
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0.703, g: 0.703, b: 0.703, a: 1}
+ - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
+ m_BuildTextureStacks: []
+ m_AllowLocking: 1
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridWhite_01_Triplanar.mat.meta b/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridWhite_01_Triplanar.mat.meta
new file mode 100644
index 000000000..cf457894e
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Materials/Environment/GridWhite_01_Triplanar.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0dd35bff8394c4f46a65c6ce39d6bf78
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Meshes.meta b/Experimental/DedicatedGameServer/Assets/Art/Meshes.meta
new file mode 100644
index 000000000..b28046c5b
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Meshes.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 435c135787b1bd943a7d0314612ba88f
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Meshes/Cube.fbx b/Experimental/DedicatedGameServer/Assets/Art/Meshes/Cube.fbx
new file mode 100644
index 000000000..942daa185
Binary files /dev/null and b/Experimental/DedicatedGameServer/Assets/Art/Meshes/Cube.fbx differ
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Meshes/Cube.fbx.meta b/Experimental/DedicatedGameServer/Assets/Art/Meshes/Cube.fbx.meta
new file mode 100644
index 000000000..00e20f4c2
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Meshes/Cube.fbx.meta
@@ -0,0 +1,107 @@
+fileFormatVersion: 2
+guid: 2a8b19134ddec0a4895e05cc686b950c
+ModelImporter:
+ serializedVersion: 22200
+ internalIDToNameTable: []
+ externalObjects: {}
+ materials:
+ materialImportMode: 0
+ materialName: 0
+ materialSearch: 1
+ materialLocation: 1
+ animations:
+ legacyGenerateAnimations: 4
+ bakeSimulation: 0
+ resampleCurves: 1
+ optimizeGameObjects: 0
+ removeConstantScaleCurves: 0
+ motionNodeName:
+ animationImportErrors:
+ animationImportWarnings:
+ animationRetargetingWarnings:
+ animationDoRetargetingWarnings: 0
+ importAnimatedCustomProperties: 0
+ importConstraints: 0
+ animationCompression: 1
+ animationRotationError: 0.5
+ animationPositionError: 0.5
+ animationScaleError: 0.5
+ animationWrapMode: 0
+ extraExposedTransformPaths: []
+ extraUserProperties: []
+ clipAnimations: []
+ isReadable: 0
+ meshes:
+ lODScreenPercentages: []
+ globalScale: 1
+ meshCompression: 0
+ addColliders: 0
+ useSRGBMaterialColor: 1
+ sortHierarchyByName: 1
+ importPhysicalCameras: 1
+ importVisibility: 0
+ importBlendShapes: 0
+ importCameras: 0
+ importLights: 0
+ nodeNameCollisionStrategy: 1
+ fileIdsGeneration: 2
+ swapUVChannels: 0
+ generateSecondaryUV: 0
+ useFileUnits: 1
+ keepQuads: 0
+ weldVertices: 1
+ bakeAxisConversion: 0
+ preserveHierarchy: 0
+ skinWeightsMode: 0
+ maxBonesPerVertex: 4
+ minBoneWeight: 0.001
+ optimizeBones: 1
+ meshOptimizationFlags: -1
+ indexFormat: 0
+ secondaryUVAngleDistortion: 8
+ secondaryUVAreaDistortion: 15.000001
+ secondaryUVHardAngle: 88
+ secondaryUVMarginMethod: 1
+ secondaryUVMinLightmapResolution: 40
+ secondaryUVMinObjectScale: 1
+ secondaryUVPackMargin: 4
+ useFileScale: 0
+ strictVertexDataChecks: 0
+ tangentSpace:
+ normalSmoothAngle: 60
+ normalImportMode: 0
+ tangentImportMode: 3
+ normalCalculationMode: 4
+ legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
+ blendShapeNormalImportMode: 1
+ normalSmoothingSource: 0
+ referencedClips: []
+ importAnimation: 0
+ humanDescription:
+ serializedVersion: 3
+ human: []
+ skeleton: []
+ armTwist: 0.5
+ foreArmTwist: 0.5
+ upperLegTwist: 0.5
+ legTwist: 0.5
+ armStretch: 0.05
+ legStretch: 0.05
+ feetSpacing: 0
+ globalScale: 1
+ rootMotionBoneName:
+ hasTranslationDoF: 0
+ hasExtraRoot: 0
+ skeletonHasParents: 1
+ lastHumanDescriptionAvatarSource: {instanceID: 0}
+ autoGenerateAvatarMappingIfUnspecified: 1
+ animationType: 0
+ humanoidOversampling: 1
+ avatarSetup: 0
+ addHumanoidExtraRootOnlyWhenUsingAvatar: 1
+ importBlendShapeDeformPercent: 1
+ remapMaterialsIfMaterialImportModeIsNone: 0
+ additionalBone: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Textures.meta b/Experimental/DedicatedGameServer/Assets/Art/Textures.meta
new file mode 100644
index 000000000..d8c1cdeb3
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Textures.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3f5b39616be6a7149ab6df67eca1b41e
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Textures/AI.png b/Experimental/DedicatedGameServer/Assets/Art/Textures/AI.png
new file mode 100644
index 000000000..e66efa677
Binary files /dev/null and b/Experimental/DedicatedGameServer/Assets/Art/Textures/AI.png differ
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Textures/AI.png.meta b/Experimental/DedicatedGameServer/Assets/Art/Textures/AI.png.meta
new file mode 100644
index 000000000..154cf3f8d
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Textures/AI.png.meta
@@ -0,0 +1,153 @@
+fileFormatVersion: 2
+guid: 1cabe4565fb391c4390169f7da86e893
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 4
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WebGL
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Win
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Win64
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures.meta b/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures.meta
new file mode 100644
index 000000000..04cfabb6e
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ae32f088034854d40aae5dd9a3f3025e
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Arms_ColorMask.png b/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Arms_ColorMask.png
new file mode 100644
index 000000000..6bf3394ec
Binary files /dev/null and b/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Arms_ColorMask.png differ
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Arms_ColorMask.png.meta b/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Arms_ColorMask.png.meta
new file mode 100644
index 000000000..18f2362d9
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Arms_ColorMask.png.meta
@@ -0,0 +1,114 @@
+fileFormatVersion: 2
+guid: 35b3d18e3694b3c4fb746154e7c3d6c4
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Body_ColorMask.png b/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Body_ColorMask.png
new file mode 100644
index 000000000..c1ef0a125
Binary files /dev/null and b/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Body_ColorMask.png differ
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Body_ColorMask.png.meta b/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Body_ColorMask.png.meta
new file mode 100644
index 000000000..ce5b2faef
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Body_ColorMask.png.meta
@@ -0,0 +1,114 @@
+fileFormatVersion: 2
+guid: 186c47696924482468d2e0f2ae5f4d66
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Body_Emissive.png b/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Body_Emissive.png
new file mode 100644
index 000000000..c4d00bf7b
Binary files /dev/null and b/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Body_Emissive.png differ
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Body_Emissive.png.meta b/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Body_Emissive.png.meta
new file mode 100644
index 000000000..ab32f71f7
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Body_Emissive.png.meta
@@ -0,0 +1,114 @@
+fileFormatVersion: 2
+guid: ca97e88d7102a5d4093832198646d414
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Legs_ColorMask.png b/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Legs_ColorMask.png
new file mode 100644
index 000000000..8ebb84883
Binary files /dev/null and b/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Legs_ColorMask.png differ
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Legs_ColorMask.png.meta b/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Legs_ColorMask.png.meta
new file mode 100644
index 000000000..1d1b7aefc
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Textures/Custom3rdPersonControllerTextures/Armature_Legs_ColorMask.png.meta
@@ -0,0 +1,114 @@
+fileFormatVersion: 2
+guid: 3d0e0103c862c3746a64d19b862bbda2
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Textures/NumberAtlas.png b/Experimental/DedicatedGameServer/Assets/Art/Textures/NumberAtlas.png
new file mode 100644
index 000000000..d8e838881
Binary files /dev/null and b/Experimental/DedicatedGameServer/Assets/Art/Textures/NumberAtlas.png differ
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Textures/NumberAtlas.png.meta b/Experimental/DedicatedGameServer/Assets/Art/Textures/NumberAtlas.png.meta
new file mode 100644
index 000000000..b53701bde
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Textures/NumberAtlas.png.meta
@@ -0,0 +1,153 @@
+fileFormatVersion: 2
+guid: 49e0e6a0c30723b448ba15e97fe8a0c2
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 4
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WebGL
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Win
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Win64
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Textures/NumberMask.png b/Experimental/DedicatedGameServer/Assets/Art/Textures/NumberMask.png
new file mode 100644
index 000000000..6cd1e071d
Binary files /dev/null and b/Experimental/DedicatedGameServer/Assets/Art/Textures/NumberMask.png differ
diff --git a/Experimental/DedicatedGameServer/Assets/Art/Textures/NumberMask.png.meta b/Experimental/DedicatedGameServer/Assets/Art/Textures/NumberMask.png.meta
new file mode 100644
index 000000000..cadaa164c
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Art/Textures/NumberMask.png.meta
@@ -0,0 +1,153 @@
+fileFormatVersion: 2
+guid: 30255b5b5bf0bb442be459612fd37d83
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 0
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 0
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 0
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 4
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: WebGL
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Win
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Win64
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/InputSystem.meta b/Experimental/DedicatedGameServer/Assets/InputSystem.meta
new file mode 100644
index 000000000..297fcc730
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/InputSystem.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e83016a91536e2648938fd03864dc2e9
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/InputSystem/DedicatedGameServerSample.inputactions b/Experimental/DedicatedGameServer/Assets/InputSystem/DedicatedGameServerSample.inputactions
new file mode 100644
index 000000000..1ecf4741a
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/InputSystem/DedicatedGameServerSample.inputactions
@@ -0,0 +1,347 @@
+{
+ "name": "DedicatedGameServerSample",
+ "maps": [
+ {
+ "name": "Player",
+ "id": "f62a4b92-ef5e-4175-8f4c-c9075429d32c",
+ "actions": [
+ {
+ "name": "Move",
+ "type": "Value",
+ "id": "6bc1aaf4-b110-4ff7-891e-5b9fe6f32c4d",
+ "expectedControlType": "Vector2",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": true
+ },
+ {
+ "name": "Look",
+ "type": "Value",
+ "id": "2690c379-f54d-45be-a724-414123833eb4",
+ "expectedControlType": "Vector2",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": true
+ },
+ {
+ "name": "Jump",
+ "type": "Button",
+ "id": "8c4abdf8-4099-493a-aa1a-129acec7c3df",
+ "expectedControlType": "Button",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": false
+ },
+ {
+ "name": "Sprint",
+ "type": "PassThrough",
+ "id": "980e881e-182c-404c-8cbf-3d09fdb48fef",
+ "expectedControlType": "",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": false
+ },
+ {
+ "name": "MenuToggle",
+ "type": "Button",
+ "id": "6f9c2ef0-e67b-4334-9594-e3b5b9d9071a",
+ "expectedControlType": "Button",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": false
+ },
+ {
+ "name": "OpenDoor",
+ "type": "Value",
+ "id": "f8e2419c-0eeb-44eb-be7e-9771840b09a7",
+ "expectedControlType": "Digital",
+ "processors": "",
+ "interactions": "",
+ "initialStateCheck": true
+ }
+ ],
+ "bindings": [
+ {
+ "name": "WASD",
+ "id": "b7594ddb-26c9-4ba2-bd5a-901468929edc",
+ "path": "2DVector(mode=1)",
+ "interactions": "",
+ "processors": "",
+ "groups": "",
+ "action": "Move",
+ "isComposite": true,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "up",
+ "id": "2063a8b5-6a45-43de-851b-65f3d46e7b58",
+ "path": "/w",
+ "interactions": "",
+ "processors": "",
+ "groups": "KeyboardMouse",
+ "action": "Move",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "down",
+ "id": "64e4d037-32e1-4fb9-80e4-fc7330404dfe",
+ "path": "/s",
+ "interactions": "",
+ "processors": "",
+ "groups": "KeyboardMouse",
+ "action": "Move",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "left",
+ "id": "0fce8b11-5eab-4e4e-a741-b732e7b20873",
+ "path": "/a",
+ "interactions": "",
+ "processors": "",
+ "groups": "KeyboardMouse",
+ "action": "Move",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "right",
+ "id": "7bdda0d6-57a8-47c8-8238-8aecf3110e47",
+ "path": "/d",
+ "interactions": "",
+ "processors": "",
+ "groups": "KeyboardMouse",
+ "action": "Move",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "up",
+ "id": "bb94b405-58d3-4998-8535-d705c1218a98",
+ "path": "/upArrow",
+ "interactions": "",
+ "processors": "",
+ "groups": "KeyboardMouse",
+ "action": "Move",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "down",
+ "id": "929d9071-7dd0-4368-9743-6793bb98087e",
+ "path": "/downArrow",
+ "interactions": "",
+ "processors": "",
+ "groups": "KeyboardMouse",
+ "action": "Move",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "left",
+ "id": "28abadba-06ff-4d37-bb70-af2f1e35a3b9",
+ "path": "/leftArrow",
+ "interactions": "",
+ "processors": "",
+ "groups": "KeyboardMouse",
+ "action": "Move",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "right",
+ "id": "45f115b6-9b4f-4ba8-b500-b94c93bf7d7e",
+ "path": "/rightArrow",
+ "interactions": "",
+ "processors": "",
+ "groups": "KeyboardMouse",
+ "action": "Move",
+ "isComposite": false,
+ "isPartOfComposite": true
+ },
+ {
+ "name": "",
+ "id": "e2f9aa65-db06-4c5b-a2e9-41bc8acb9517",
+ "path": "/leftStick",
+ "interactions": "",
+ "processors": "StickDeadzone",
+ "groups": "Gamepad",
+ "action": "Move",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "ed66cbff-2900-4a62-8896-696503cfcd31",
+ "path": "/delta",
+ "interactions": "",
+ "processors": "InvertVector2(invertX=false),ScaleVector2(x=0.05,y=0.05)",
+ "groups": "KeyboardMouse",
+ "action": "Look",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "d1d171b6-19d8-47a6-ba3a-71b6a8e7b3c0",
+ "path": "/rightStick",
+ "interactions": "",
+ "processors": "InvertVector2(invertX=false),StickDeadzone,ScaleVector2(x=300,y=300)",
+ "groups": "Gamepad",
+ "action": "Look",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "1bd55a0b-761e-4ae4-89ae-8ec127e08a29",
+ "path": "/space",
+ "interactions": "",
+ "processors": "",
+ "groups": "KeyboardMouse",
+ "action": "Jump",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "9f973413-5e27-4239-acee-38c4a63feeba",
+ "path": "/buttonSouth",
+ "interactions": "",
+ "processors": "",
+ "groups": "Gamepad",
+ "action": "Jump",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "dc65b89f-9bd3-43fb-92af-d0d87ba5faa4",
+ "path": "/leftShift",
+ "interactions": "",
+ "processors": "",
+ "groups": "KeyboardMouse",
+ "action": "Sprint",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "c8fcd86e-dcfd-4f88-8e93-b638cdbf3320",
+ "path": "/leftTrigger",
+ "interactions": "",
+ "processors": "",
+ "groups": "Gamepad",
+ "action": "Sprint",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "7353ecbd-0361-4685-8f87-65da48f13fc1",
+ "path": "/escape",
+ "interactions": "",
+ "processors": "",
+ "groups": "KeyboardMouse",
+ "action": "MenuToggle",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "cb92a5ae-7ab7-4507-b002-d8c91406a9ed",
+ "path": "/p",
+ "interactions": "",
+ "processors": "",
+ "groups": "KeyboardMouse",
+ "action": "MenuToggle",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "81c63432-3c9b-4a09-a8b3-82ae0380cf14",
+ "path": "/start",
+ "interactions": "",
+ "processors": "",
+ "groups": "Gamepad",
+ "action": "MenuToggle",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "f7f32fca-f15c-4cd8-9e9d-a9766ee58f30",
+ "path": "/e",
+ "interactions": "",
+ "processors": "",
+ "groups": ";KeyboardMouse",
+ "action": "OpenDoor",
+ "isComposite": false,
+ "isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "40881510-402d-4822-aebb-f806d67d3d0f",
+ "path": "/rightTrigger",
+ "interactions": "",
+ "processors": "",
+ "groups": ";Gamepad",
+ "action": "OpenDoor",
+ "isComposite": false,
+ "isPartOfComposite": false
+ }
+ ]
+ }
+ ],
+ "controlSchemes": [
+ {
+ "name": "KeyboardMouse",
+ "bindingGroup": "KeyboardMouse",
+ "devices": [
+ {
+ "devicePath": "",
+ "isOptional": false,
+ "isOR": false
+ },
+ {
+ "devicePath": "",
+ "isOptional": false,
+ "isOR": false
+ }
+ ]
+ },
+ {
+ "name": "Gamepad",
+ "bindingGroup": "Gamepad",
+ "devices": [
+ {
+ "devicePath": "",
+ "isOptional": true,
+ "isOR": false
+ },
+ {
+ "devicePath": "",
+ "isOptional": true,
+ "isOR": false
+ },
+ {
+ "devicePath": "",
+ "isOptional": true,
+ "isOR": false
+ }
+ ]
+ },
+ {
+ "name": "Xbox Controller",
+ "bindingGroup": "Xbox Controller",
+ "devices": []
+ },
+ {
+ "name": "PS4 Controller",
+ "bindingGroup": "PS4 Controller",
+ "devices": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/InputSystem/DedicatedGameServerSample.inputactions.meta b/Experimental/DedicatedGameServer/Assets/InputSystem/DedicatedGameServerSample.inputactions.meta
new file mode 100644
index 000000000..3c6238491
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/InputSystem/DedicatedGameServerSample.inputactions.meta
@@ -0,0 +1,14 @@
+fileFormatVersion: 2
+guid: c991eb0e4659b8f4a92be9446bf3ee5d
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3}
+ generateWrapperCode: 0
+ wrapperCodePath:
+ wrapperClassName:
+ wrapperCodeNamespace:
diff --git a/Experimental/DedicatedGameServer/Assets/NetworkPrefabs.asset b/Experimental/DedicatedGameServer/Assets/NetworkPrefabs.asset
new file mode 100644
index 000000000..44487c5b8
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/NetworkPrefabs.asset
@@ -0,0 +1,21 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: e651dbb3fbac04af2b8f5abf007ddc23, type: 3}
+ m_Name: NetworkPrefabs
+ m_EditorClassIdentifier:
+ IsDefault: 1
+ List:
+ - Override: 0
+ Prefab: {fileID: 7649948504863405083, guid: fec157981080b4a4fb16fd232c608970, type: 3}
+ SourcePrefabToOverride: {fileID: 0}
+ SourceHashToOverride: 0
+ OverridingTargetPrefab: {fileID: 0}
diff --git a/Experimental/DedicatedGameServer/Assets/NetworkPrefabs.asset.meta b/Experimental/DedicatedGameServer/Assets/NetworkPrefabs.asset.meta
new file mode 100644
index 000000000..8cfb9222d
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/NetworkPrefabs.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2256be0ecc277ec47a4b1f3ba35d11fe
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs.meta b/Experimental/DedicatedGameServer/Assets/Prefabs.meta
new file mode 100644
index 000000000..fe7de3a54
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c4b7c05d9d3f77043996968d63441264
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Game.meta
new file mode 100644
index 000000000..406e6cf77
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3c3d1eff9c2b3024385c9d055af32b44
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character.meta
new file mode 100644
index 000000000..583cadaf1
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 06c84a758aca6b94fb51b813a1b83d6b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character/AICharacter.prefab b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character/AICharacter.prefab
new file mode 100644
index 000000000..63dae1767
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character/AICharacter.prefab
@@ -0,0 +1,1114 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &2125602799137193611
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 118794835691364786}
+ - component: {fileID: 7950168805450892943}
+ - component: {fileID: 1190927066116911880}
+ - component: {fileID: 1312557009676984786}
+ m_Layer: 0
+ m_Name: Icon
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &118794835691364786
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2125602799137193611}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -1, z: -0, w: 0.0000026226041}
+ m_LocalPosition: {x: 0, y: 2.212, z: 0}
+ m_LocalScale: {x: 0.34190595, y: 0.38717, z: 0.38717}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5252843609306807026}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &7950168805450892943
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2125602799137193611}
+ m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &1190927066116911880
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2125602799137193611}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: ce99b24409f616a4a8bc7bf3b2a9a532, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!64 &1312557009676984786
+MeshCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2125602799137193611}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 5
+ m_Convex: 0
+ m_CookingOptions: 30
+ m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1 &7649948504863405083
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5252843609306807026}
+ - component: {fileID: 8005823783217007668}
+ - component: {fileID: -2934274181720384523}
+ - component: {fileID: 6520774020550470396}
+ - component: {fileID: 90735580909352666}
+ - component: {fileID: 901488849224412471}
+ - component: {fileID: 1038673650477063581}
+ - component: {fileID: 3516937132194170949}
+ - component: {fileID: 6464223324982588064}
+ - component: {fileID: 210283048845960903}
+ m_Layer: 0
+ m_Name: AICharacter
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5252843609306807026
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7649948504863405083}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 118794835691364786}
+ - {fileID: 2858651220776485301}
+ - {fileID: 1064735576060696377}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &8005823783217007668
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7649948504863405083}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ GlobalObjectIdHash: 872410976
+ AlwaysReplicateAsRoot: 0
+ SynchronizeTransform: 1
+ ActiveSceneSynchronization: 0
+ SceneMigrationSynchronization: 1
+ SpawnWithObservers: 1
+ DontDestroyWithOwner: 0
+ AutoObjectParentSync: 1
+--- !u!114 &-2934274181720384523
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7649948504863405083}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fc55bb2809cf3cd43997f110554eaed3, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &6520774020550470396
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7649948504863405083}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 817c71b62011ef746bb2c549f5897149, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_NetworkedAICharacter: {fileID: -2934274181720384523}
+ m_Animator: {fileID: 6464223324982588064}
+ FootstepAudioClips:
+ - {fileID: 8300000, guid: 72f526a6a9890f643a88e85a61c86c8a, type: 3}
+ - {fileID: 8300000, guid: 85016e0f2b01da248b9663dd49a161b0, type: 3}
+ - {fileID: 8300000, guid: 186de84b3207156479abe98f4958fed0, type: 3}
+ - {fileID: 8300000, guid: 1a91fcd19acf1e54bba0945d9f390849, type: 3}
+ - {fileID: 8300000, guid: 14e8a8d2158bec840b56c54f5266e692, type: 3}
+ - {fileID: 8300000, guid: 29841e7d5bbfb5b419c9ad16ca8bc4c1, type: 3}
+ - {fileID: 8300000, guid: dd1af302b8902684d9381de1f2d3a5af, type: 3}
+ - {fileID: 8300000, guid: 67c8b33e424ccdc4486edf538ab91c5a, type: 3}
+ - {fileID: 8300000, guid: 274649b0e221539409070ebf6c18918b, type: 3}
+ - {fileID: 8300000, guid: a3194b8bbc96ef84fab1f98f4b7dae3e, type: 3}
+ FootstepAudioVolume: 0.5
+--- !u!1652712579 &90735580909352666
+MultiplayerRolesData:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7649948504863405083}
+ m_GameObjectRolesMask: 3
+ m_ComponentsRolesMasks:
+ - m_Object: {fileID: 901488849224412471}
+ m_RolesMask: 2
+ - m_Object: {fileID: 6520774020550470396}
+ m_RolesMask: 1
+ - m_Object: {fileID: 3516937132194170949}
+ m_RolesMask: 2
+ - m_Object: {fileID: 6464223324982588064}
+ m_RolesMask: 1
+--- !u!114 &901488849224412471
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7649948504863405083}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f45232468e01af34d95012664f7e3e2f, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_NetworkedAICharacter: {fileID: -2934274181720384523}
+ m_NavMeshAgent: {fileID: 3516937132194170949}
+--- !u!114 &1038673650477063581
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7649948504863405083}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: e96cb6065543e43c4a752faaa1468eb1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ SyncPositionX: 1
+ SyncPositionY: 0
+ SyncPositionZ: 1
+ SyncRotAngleX: 1
+ SyncRotAngleY: 1
+ SyncRotAngleZ: 1
+ SyncScaleX: 0
+ SyncScaleY: 0
+ SyncScaleZ: 0
+ PositionThreshold: 0.001
+ RotAngleThreshold: 0.01
+ ScaleThreshold: 0.01
+ UseQuaternionSynchronization: 1
+ UseQuaternionCompression: 1
+ UseHalfFloatPrecision: 1
+ InLocalSpace: 0
+ Interpolate: 1
+ SlerpPosition: 0
+--- !u!195 &3516937132194170949
+NavMeshAgent:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7649948504863405083}
+ m_Enabled: 1
+ m_AgentTypeID: 0
+ m_Radius: 0.5
+ m_Speed: 3.5
+ m_Acceleration: 8
+ avoidancePriority: 50
+ m_AngularSpeed: 120
+ m_StoppingDistance: 0
+ m_AutoTraverseOffMeshLink: 1
+ m_AutoBraking: 0
+ m_AutoRepath: 1
+ m_Height: 2
+ m_BaseOffset: 0
+ m_WalkableMask: 4294967295
+ m_ObstacleAvoidanceType: 4
+--- !u!95 &6464223324982588064
+Animator:
+ serializedVersion: 7
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7649948504863405083}
+ m_Enabled: 1
+ m_Avatar: {fileID: 9000000, guid: 36078ab0369161e49a29d349ae3e0739, type: 3}
+ m_Controller: {fileID: 9100000, guid: 40db3173a05ae3242b1c182a09b0a183, type: 2}
+ m_CullingMode: 1
+ m_UpdateMode: 0
+ m_ApplyRootMotion: 0
+ m_LinearVelocityBlending: 0
+ m_StabilizeFeet: 0
+ m_AnimatePhysics: 0
+ m_WarningMessage:
+ m_HasTransformHierarchy: 1
+ m_AllowConstantClipSamplingOptimization: 1
+ m_KeepAnimatorStateOnDisable: 0
+ m_WriteDefaultValuesOnDisable: 0
+--- !u!136 &210283048845960903
+CapsuleCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7649948504863405083}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Radius: 0.5
+ m_Height: 1
+ m_Direction: 1
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1001 &6705423092685500263
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 5252843609306807026}
+ m_Modifications:
+ - target: {fileID: 165846276003802553, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ propertyPath: m_Name
+ value: Skeleton
+ objectReference: {fileID: 0}
+ - target: {fileID: 6037288175627008094, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6037288175627008094, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6037288175627008094, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6037288175627008094, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6037288175627008094, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6037288175627008094, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6037288175627008094, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6037288175627008094, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6037288175627008094, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6037288175627008094, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents:
+ - targetCorrespondingSourceObject: {fileID: 165846276003802553, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1166915127206214649}
+ m_SourcePrefab: {fileID: 100100000, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+--- !u!4 &265641158595555020 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 6818957807190524331, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &308360933125723548 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 6433944452798708475, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &450691228718258698 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 6579582646166926701, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &770869191762181614 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 6322173944119857801, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &913564589584441509 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 5882775206513479618, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &1064735576060696377 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 6037288175627008094, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &1167473607646737584 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 5565817784074836951, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &1168303188936953292 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 5564434051683803819, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &1247155191069853083 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 5494598045200329468, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &1309516453492865486 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 5702160210810951337, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &1611440847390111248 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 5427556833735055735, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &1617835451709175511 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 5439721641792821680, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &1858642097851264284 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4955450413307036283, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &1994683760717042768 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 5089340847313386295, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &2074498479427944187 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4739031071249371548, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &2077205717397662700 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4746166592165741707, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &2259151689441097653 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4779564656352319698, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &2342040416850033618 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 9047427769898390709, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &2392229544029400027 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 8952200438202582204, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &2815397273098035243 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 8798976085990887244, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &2932604938769160643 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 8483873921695495844, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &3073710588472102510 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 8621703572205396233, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &3223743293725925749 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 8193028162988051986, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &3245061805015731334 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 8072337579382334433, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &3325127458868322240 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 8298809239825428647, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &3537868541018311147 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 7788828732975048332, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &3576404719475956127 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 7831623285474162424, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &3736684054898724498 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 7986338575725797877, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &3942570908351528416 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 7762131651746632327, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &3959691936514135658 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 7781608898965747981, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &4032772670081325871 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 7708257824998011976, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &4182757654762882138 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 7422584383762623293, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &4469753358858216087 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 7136431042971438576, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &4473970775264812557 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 7140684197934084458, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &4519630944843396339 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 7185078291554409364, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &4610720108618988301 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 7130011042297697386, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &5043186349387338879 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 1797654805513812760, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &5084532217193722226 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 1982025678301961749, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &5209564232823116323 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 1531898800979377476, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &5399970182124560057 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 1729099148017545694, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &5708604744762029572 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 1312653072213612899, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &5722515773192105680 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 1325191888790553015, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &5804957756578092034 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 973103612702243685, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &5874030260190788527 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 903760766457959624, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &6052222369123546353 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 1077383866499488662, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &6095888051607525706 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 690883783869937197, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &6352438192681480399 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 371008378352115624, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &6618996792559604133 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 492322021553700546, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &6840479885143086910 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 279283582039554137, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1 &6864407813762794206 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 165846276003802553, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1652712579 &1166915127206214649
+MultiplayerRolesData:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6864407813762794206}
+ m_GameObjectRolesMask: 1
+ m_ComponentsRolesMasks: []
+--- !u!4 &6885984174881100376 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 180597915969371455, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &6959059292253938449 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4439978897866820726, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &7122372783747770040 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4600904796638693855, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &7230548364776603047 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4131599294684861120, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &7323134230033367218 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4084357007427825621, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &7328535452927333764 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4087653193971890915, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &7484571001765291959 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4238163696877078736, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &7690551779593241636 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4013875903915305795, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &7919274801627286275 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 3524234658575950948, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &7987528880331985057 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 3735478557089267654, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &8032001079249414279 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 3636960901838358496, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &8099941217857648131 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 3271503776167188836, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &8173074971299601596 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 3198376678011876315, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &8246775921286671528 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 3421642559421744079, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &8490975197767061317 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2943227916361048098, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &8606355209111569054 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 3053889906126745081, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &8740962656767890183 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2612177940131265632, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &8843074817131404664 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2861645549338735135, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &8877919287869489741 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2754732137821547818, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!4 &9111338139252657992 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2557915967609364527, guid: 8cbe5f863287a1e419a296447086566f, type: 3}
+ m_PrefabInstance: {fileID: 6705423092685500263}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &8573387124054175168
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 5252843609306807026}
+ m_Modifications:
+ - target: {fileID: 801338533169788453, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: m_Name
+ value: Geometry
+ objectReference: {fileID: 0}
+ - target: {fileID: 5859519607982173301, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5859519607982173301, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5859519607982173301, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5859519607982173301, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 5859519607982173301, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5859519607982173301, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5859519607982173301, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5859519607982173301, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5859519607982173301, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5859519607982173301, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: m_RootBone
+ value:
+ objectReference: {fileID: 6959059292253938449}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[0]'
+ value:
+ objectReference: {fileID: 6959059292253938449}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[1]'
+ value:
+ objectReference: {fileID: 8032001079249414279}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[2]'
+ value:
+ objectReference: {fileID: 2932604938769160643}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[3]'
+ value:
+ objectReference: {fileID: 6352438192681480399}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[4]'
+ value:
+ objectReference: {fileID: 2074498479427944187}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[5]'
+ value:
+ objectReference: {fileID: 6840479885143086910}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[6]'
+ value:
+ objectReference: {fileID: 5722515773192105680}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[7]'
+ value:
+ objectReference: {fileID: 2815397273098035243}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[8]'
+ value:
+ objectReference: {fileID: 2077205717397662700}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[9]'
+ value:
+ objectReference: {fileID: 265641158595555020}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[10]'
+ value:
+ objectReference: {fileID: 7230548364776603047}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[11]'
+ value:
+ objectReference: {fileID: 8877919287869489741}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[12]'
+ value:
+ objectReference: {fileID: 3073710588472102510}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[13]'
+ value:
+ objectReference: {fileID: 8246775921286671528}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[14]'
+ value:
+ objectReference: {fileID: 5708604744762029572}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[15]'
+ value:
+ objectReference: {fileID: 3223743293725925749}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[16]'
+ value:
+ objectReference: {fileID: 5043186349387338879}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[17]'
+ value:
+ objectReference: {fileID: 1858642097851264284}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[18]'
+ value:
+ objectReference: {fileID: 6052222369123546353}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[19]'
+ value:
+ objectReference: {fileID: 7328535452927333764}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[20]'
+ value:
+ objectReference: {fileID: 450691228718258698}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[21]'
+ value:
+ objectReference: {fileID: 7323134230033367218}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[22]'
+ value:
+ objectReference: {fileID: 4473970775264812557}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[23]'
+ value:
+ objectReference: {fileID: 2392229544029400027}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[24]'
+ value:
+ objectReference: {fileID: 4469753358858216087}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[25]'
+ value:
+ objectReference: {fileID: 8740962656767890183}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[26]'
+ value:
+ objectReference: {fileID: 3942570908351528416}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[27]'
+ value:
+ objectReference: {fileID: 1611440847390111248}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[28]'
+ value:
+ objectReference: {fileID: 7484571001765291959}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[29]'
+ value:
+ objectReference: {fileID: 1247155191069853083}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[30]'
+ value:
+ objectReference: {fileID: 7987528880331985057}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[31]'
+ value:
+ objectReference: {fileID: 7122372783747770040}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[32]'
+ value:
+ objectReference: {fileID: 1994683760717042768}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[33]'
+ value:
+ objectReference: {fileID: 5084532217193722226}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[34]'
+ value:
+ objectReference: {fileID: 8099941217857648131}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[35]'
+ value:
+ objectReference: {fileID: 308360933125723548}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[36]'
+ value:
+ objectReference: {fileID: 9111338139252657992}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[37]'
+ value:
+ objectReference: {fileID: 8843074817131404664}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[38]'
+ value:
+ objectReference: {fileID: 4182757654762882138}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[39]'
+ value:
+ objectReference: {fileID: 8490975197767061317}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[40]'
+ value:
+ objectReference: {fileID: 4610720108618988301}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[41]'
+ value:
+ objectReference: {fileID: 5399970182124560057}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[42]'
+ value:
+ objectReference: {fileID: 3576404719475956127}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[43]'
+ value:
+ objectReference: {fileID: 6095888051607525706}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[44]'
+ value:
+ objectReference: {fileID: 6618996792559604133}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[45]'
+ value:
+ objectReference: {fileID: 5209564232823116323}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[46]'
+ value:
+ objectReference: {fileID: 6885984174881100376}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[47]'
+ value:
+ objectReference: {fileID: 3325127458868322240}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[48]'
+ value:
+ objectReference: {fileID: 3959691936514135658}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[49]'
+ value:
+ objectReference: {fileID: 1309516453492865486}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[50]'
+ value:
+ objectReference: {fileID: 5804957756578092034}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[51]'
+ value:
+ objectReference: {fileID: 1167473607646737584}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[52]'
+ value:
+ objectReference: {fileID: 5874030260190788527}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[53]'
+ value:
+ objectReference: {fileID: 3736684054898724498}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[54]'
+ value:
+ objectReference: {fileID: 913564589584441509}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[55]'
+ value:
+ objectReference: {fileID: 4032772670081325871}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[56]'
+ value:
+ objectReference: {fileID: 2259151689441097653}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[57]'
+ value:
+ objectReference: {fileID: 8173074971299601596}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[58]'
+ value:
+ objectReference: {fileID: 7919274801627286275}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[59]'
+ value:
+ objectReference: {fileID: 3537868541018311147}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[60]'
+ value:
+ objectReference: {fileID: 2342040416850033618}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[61]'
+ value:
+ objectReference: {fileID: 8606355209111569054}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[62]'
+ value:
+ objectReference: {fileID: 7690551779593241636}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[63]'
+ value:
+ objectReference: {fileID: 1168303188936953292}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[64]'
+ value:
+ objectReference: {fileID: 770869191762181614}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[65]'
+ value:
+ objectReference: {fileID: 4519630944843396339}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[66]'
+ value:
+ objectReference: {fileID: 3245061805015731334}
+ - target: {fileID: 8354179738590411753, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ propertyPath: 'm_Bones.Array.data[67]'
+ value:
+ objectReference: {fileID: 1617835451709175511}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents:
+ - targetCorrespondingSourceObject: {fileID: 801338533169788453, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 8710339876229028236}
+ m_SourcePrefab: {fileID: 100100000, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+--- !u!4 &2858651220776485301 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 5859519607982173301, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ m_PrefabInstance: {fileID: 8573387124054175168}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1 &9071418482280815589 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 801338533169788453, guid: d293d165b86760242a4bcaaa4f1ed796, type: 3}
+ m_PrefabInstance: {fileID: 8573387124054175168}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1652712579 &8710339876229028236
+MultiplayerRolesData:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 9071418482280815589}
+ m_GameObjectRolesMask: 1
+ m_ComponentsRolesMasks: []
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character/AICharacter.prefab.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character/AICharacter.prefab.meta
new file mode 100644
index 000000000..cce650041
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character/AICharacter.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: fec157981080b4a4fb16fd232c608970
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character/AICharacterSpawner.prefab b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character/AICharacterSpawner.prefab
new file mode 100644
index 000000000..065008175
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character/AICharacterSpawner.prefab
@@ -0,0 +1,61 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &3162684168667458613
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5540692768441426931}
+ - component: {fileID: 7685641082116146980}
+ - component: {fileID: 3482603409860031777}
+ m_Layer: 0
+ m_Name: AICharacterSpawner
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5540692768441426931
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3162684168667458613}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &7685641082116146980
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3162684168667458613}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 60bc545e3cb0a89478529e9a036abfbe, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Patrols: []
+ m_CharacterPrefab: {fileID: 7649948504863405083, guid: fec157981080b4a4fb16fd232c608970, type: 3}
+ m_NetworkedGameState: {fileID: 0}
+--- !u!1652712579 &3482603409860031777
+MultiplayerRolesData:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3162684168667458613}
+ m_GameObjectRolesMask: 3
+ m_ComponentsRolesMasks:
+ - m_Object: {fileID: 7685641082116146980}
+ m_RolesMask: 2
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character/AICharacterSpawner.prefab.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character/AICharacterSpawner.prefab.meta
new file mode 100644
index 000000000..03a6deeaa
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character/AICharacterSpawner.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 10f700a6f3ad51d469fd3f0666f0f25b
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character/PlayerCharacter.prefab b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character/PlayerCharacter.prefab
new file mode 100644
index 000000000..9c9283c88
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character/PlayerCharacter.prefab
@@ -0,0 +1,413 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &3631858316268162507
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 135756642000475821, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: cursorLocked
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3893294197879345259, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3893294197879345259, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3893294197879345259, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3893294197879345259, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 3893294197879345259, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3893294197879345259, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3893294197879345259, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3893294197879345259, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3893294197879345259, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3893294197879345259, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4416926081852918481, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: m_Name
+ value: PlayerCharacter
+ objectReference: {fileID: 0}
+ - target: {fileID: 4416926081852918490, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: m_Enabled
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4416926081852918491, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: m_Enabled
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4416926081852918493, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: m_Actions
+ value:
+ objectReference: {fileID: -944628639613478452, guid: c991eb0e4659b8f4a92be9446bf3ee5d, type: 3}
+ - target: {fileID: 4416926081852918493, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: m_Enabled
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6480834101704243505, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 0.30831507
+ objectReference: {fileID: 0}
+ - target: {fileID: 6480834101704243505, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 2.212
+ objectReference: {fileID: 0}
+ - target: {fileID: 6480834101704243505, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.0000026226041
+ objectReference: {fileID: 0}
+ - target: {fileID: 6480834101704243505, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6480834101704243505, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: -180
+ objectReference: {fileID: 0}
+ m_RemovedComponents:
+ - {fileID: 5885216827943657505, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents:
+ - targetCorrespondingSourceObject: {fileID: 4416926081852918481, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 7252483717728775064}
+ - targetCorrespondingSourceObject: {fileID: 4416926081852918481, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 8339456619134380110}
+ - targetCorrespondingSourceObject: {fileID: 4416926081852918481, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 132630580526056716}
+ - targetCorrespondingSourceObject: {fileID: 4416926081852918481, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 2427093694310210962}
+ - targetCorrespondingSourceObject: {fileID: 4416926081852918481, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 3939772342160869286}
+ - targetCorrespondingSourceObject: {fileID: 4416926081852918481, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1691060497006864908}
+ - targetCorrespondingSourceObject: {fileID: 4416926081852918481, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 141398023266614687}
+ - targetCorrespondingSourceObject: {fileID: 4416926081852918481, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: -7649842775098529702}
+ - targetCorrespondingSourceObject: {fileID: 4416926081852918481, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 3143591770897947506}
+ - targetCorrespondingSourceObject: {fileID: 8338988566280778634, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 2060078632622766650}
+ - targetCorrespondingSourceObject: {fileID: 3837663348675104489, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 2212813354905714970}
+ - targetCorrespondingSourceObject: {fileID: 5930158855145388821, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 506445295687440673}
+ m_SourcePrefab: {fileID: 100100000, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+--- !u!1 &514797524429996834 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 3837663348675104489, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ m_PrefabInstance: {fileID: 3631858316268162507}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1652712579 &2212813354905714970
+MultiplayerRolesData:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 514797524429996834}
+ m_GameObjectRolesMask: 3
+ m_ComponentsRolesMasks: []
+--- !u!23 &898828323309504372 stripped
+MeshRenderer:
+ m_CorrespondingSourceObject: {fileID: 4476495000965352127, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ m_PrefabInstance: {fileID: 3631858316268162507}
+ m_PrefabAsset: {fileID: 0}
+--- !u!143 &1092933507198879504 stripped
+CharacterController:
+ m_CorrespondingSourceObject: {fileID: 4416926081852918491, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ m_PrefabInstance: {fileID: 3631858316268162507}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &1092933507198879505 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 4416926081852918490, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ m_PrefabInstance: {fileID: 3631858316268162507}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1092933507198879514}
+ m_Enabled: 0
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 26e54e5a728a9234ab24fcf1460ed8a2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &1092933507198879510 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 4416926081852918493, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ m_PrefabInstance: {fileID: 3631858316268162507}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1092933507198879514}
+ m_Enabled: 0
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 62899f850307741f2a39c98a8b639597, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &1092933507198879514 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 4416926081852918481, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ m_PrefabInstance: {fileID: 3631858316268162507}
+ m_PrefabAsset: {fileID: 0}
+--- !u!136 &7252483717728775064
+CapsuleCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1092933507198879514}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Radius: 0.28
+ m_Height: 1.8
+ m_Direction: 1
+ m_Center: {x: 0, y: 0.93, z: 0}
+--- !u!114 &8339456619134380110
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1092933507198879514}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ GlobalObjectIdHash: 3552800169
+ AlwaysReplicateAsRoot: 0
+ SynchronizeTransform: 1
+ ActiveSceneSynchronization: 0
+ SceneMigrationSynchronization: 1
+ SpawnWithObservers: 1
+ DontDestroyWithOwner: 0
+ AutoObjectParentSync: 1
+--- !u!114 &132630580526056716
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1092933507198879514}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: df2868252ab5c4d1da357e8f11f1b524, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ SyncPositionX: 1
+ SyncPositionY: 1
+ SyncPositionZ: 1
+ SyncRotAngleX: 1
+ SyncRotAngleY: 1
+ SyncRotAngleZ: 1
+ SyncScaleX: 1
+ SyncScaleY: 1
+ SyncScaleZ: 1
+ PositionThreshold: 0.001
+ RotAngleThreshold: 0.01
+ ScaleThreshold: 0.01
+ UseQuaternionSynchronization: 0
+ UseQuaternionCompression: 0
+ UseHalfFloatPrecision: 0
+ InLocalSpace: 0
+ Interpolate: 1
+ SlerpPosition: 0
+--- !u!114 &2427093694310210962
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1092933507198879514}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: ad8deae8091111f4eb30a56c1f4e0d3e, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ TransitionStateInfoList: []
+ m_Animator: {fileID: 5945065160673298394}
+--- !u!114 &3939772342160869286
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1092933507198879514}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 72cdb96278bc495ea1450b659fef8403, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &1691060497006864908
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1092933507198879514}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: bb8100e3fcda6294a8656d145e5951d4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_NetworkedPlayerCharacter: {fileID: 3939772342160869286}
+ m_CharacterController: {fileID: 1092933507198879504}
+ m_ThirdPersonController: {fileID: 1092933507198879505}
+ m_CapsuleCollider: {fileID: 7252483717728775064}
+ m_CameraFollow: {fileID: 4745943045923667526}
+ m_PlayerInput: {fileID: 1092933507198879510}
+--- !u!1652712579 &141398023266614687
+MultiplayerRolesData:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1092933507198879514}
+ m_GameObjectRolesMask: 3
+ m_ComponentsRolesMasks:
+ - m_Object: {fileID: 1092933507198879504}
+ m_RolesMask: 1
+ - m_Object: {fileID: 1092933507198879505}
+ m_RolesMask: 1
+ - m_Object: {fileID: 3712300999824694118}
+ m_RolesMask: 1
+ - m_Object: {fileID: 1092933507198879510}
+ m_RolesMask: 1
+ - m_Object: {fileID: 1691060497006864908}
+ m_RolesMask: 1
+ - m_Object: {fileID: -7649842775098529702}
+ m_RolesMask: 2
+ - m_Object: {fileID: 3143591770897947506}
+ m_RolesMask: 1
+--- !u!114 &-7649842775098529702
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1092933507198879514}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: e5abadeefc16c65478b964d474f8af23, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &3143591770897947506
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1092933507198879514}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc55263d027ad72419720fde3696727a, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_PlayerNumberMesh: {fileID: 898828323309504372}
+ m_PlayerColors:
+ - {r: 2, g: 0, b: 0.19999981, a: 1}
+ - {r: 0, g: 0.41029543, b: 1.7176471, a: 1}
+ - {r: 1.1219676, g: 0.8517555, b: 0.041119244, a: 1}
+ - {r: 0, g: 1.0717734, b: 0.8802225, a: 0}
+ m_PlayerEmissiveColors:
+ - {r: 2, g: 0, b: 0.025966061, a: 0}
+ - {r: 0, g: 0.34600186, b: 1.8483082, a: 0}
+ - {r: 2, g: 1.0665532, b: 0.004249378, a: 1}
+ - {r: 0, g: 0.8357703, b: 0.5409957, a: 0}
+ m_PlayerNumber: 0
+ m_PlayerNumberVector: {x: 0, y: 0}
+--- !u!114 &3712300999824694118 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 135756642000475821, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ m_PrefabInstance: {fileID: 3631858316268162507}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1092933507198879514}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: e087ecce43ebbff45a1b360637807d93, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &4745943045923667521 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 8338988566280778634, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ m_PrefabInstance: {fileID: 3631858316268162507}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1652712579 &2060078632622766650
+MultiplayerRolesData:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4745943045923667521}
+ m_GameObjectRolesMask: 1
+ m_ComponentsRolesMasks: []
+--- !u!4 &4745943045923667526 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 8338988566280778637, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ m_PrefabInstance: {fileID: 3631858316268162507}
+ m_PrefabAsset: {fileID: 0}
+--- !u!95 &5945065160673298394 stripped
+Animator:
+ m_CorrespondingSourceObject: {fileID: 6982812146204527121, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ m_PrefabInstance: {fileID: 3631858316268162507}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1 &6929592776227403486 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 5930158855145388821, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
+ m_PrefabInstance: {fileID: 3631858316268162507}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1652712579 &506445295687440673
+MultiplayerRolesData:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6929592776227403486}
+ m_GameObjectRolesMask: 1
+ m_ComponentsRolesMasks: []
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character/PlayerCharacter.prefab.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character/PlayerCharacter.prefab.meta
new file mode 100644
index 000000000..5956e419f
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Character/PlayerCharacter.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 453db16f5dbae264a8d01c33e4839e6e
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment.meta
new file mode 100644
index 000000000..0659bafbf
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 340317c25d14912438319a1a357c0517
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/Column.prefab b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/Column.prefab
new file mode 100644
index 000000000..3712735bc
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/Column.prefab
@@ -0,0 +1,110 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &1249436750606663583
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2382956189924090291}
+ - component: {fileID: 8969202342538277845}
+ - component: {fileID: 8250661896547616285}
+ - component: {fileID: 6942313494344233746}
+ m_Layer: 0
+ m_Name: Column
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2382956189924090291
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1249436750606663583}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: -5, y: 1.5, z: -20}
+ m_LocalScale: {x: 0.75, y: 3.25, z: 0.75}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &8969202342538277845
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1249436750606663583}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &8250661896547616285
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1249436750606663583}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 0dd35bff8394c4f46a65c6ce39d6bf78, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &6942313494344233746
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1249436750606663583}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/Column.prefab.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/Column.prefab.meta
new file mode 100644
index 000000000..281eef5b9
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/Column.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: c1668a7d2b722184c90aa08274e6f666
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/ColumnCorner.prefab b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/ColumnCorner.prefab
new file mode 100644
index 000000000..070a3f91b
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/ColumnCorner.prefab
@@ -0,0 +1,63 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &8316258389348988157
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: ColumnCorner
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 5.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 25
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 2.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -25
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/ColumnCorner.prefab.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/ColumnCorner.prefab.meta
new file mode 100644
index 000000000..7cc9705a1
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/ColumnCorner.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/Environment.prefab b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/Environment.prefab
new file mode 100644
index 000000000..e625100d9
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/Environment.prefab
@@ -0,0 +1,11050 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &51735001061191045
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7338505255878303347}
+ - component: {fileID: 380067355595278559}
+ - component: {fileID: 4968948746465418093}
+ - component: {fileID: 5635476660348139851}
+ m_Layer: 0
+ m_Name: Cube (27)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7338505255878303347
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 51735001061191045}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: 0.0000004768371, z: -0, w: 1}
+ m_LocalPosition: {x: -7.5, y: 1.5, z: 20.499987}
+ m_LocalScale: {x: 1, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &380067355595278559
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 51735001061191045}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &4968948746465418093
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 51735001061191045}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &5635476660348139851
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 51735001061191045}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &180040538406767663
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4665728406747330840}
+ - component: {fileID: 4852259240217105373}
+ - component: {fileID: 4811425894572755145}
+ m_Layer: 0
+ m_Name: PlayerSpawnLocations
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4665728406747330840
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 180040538406767663}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 3134545558676463813}
+ - {fileID: 5280602829846884320}
+ - {fileID: 1850220196792871173}
+ - {fileID: 6574346925230522449}
+ - {fileID: 280374543219432597}
+ - {fileID: 3670461386743408464}
+ - {fileID: 7078270509980905718}
+ - {fileID: 3796560868652834526}
+ m_Father: {fileID: 1600917652919393993}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &4852259240217105373
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 180040538406767663}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e527eab88b471c4f8486f1947ee3097, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_SpawnPoints:
+ - {fileID: 2186929817286703634}
+ - {fileID: 6427813158200954335}
+ - {fileID: 1650216340986908013}
+ - {fileID: 8190397203442426657}
+ - {fileID: 1393820096939805904}
+ - {fileID: 8209456124719401336}
+ - {fileID: 3536690533482120158}
+ - {fileID: 6647742388053573790}
+--- !u!1652712579 &4811425894572755145
+MultiplayerRolesData:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 180040538406767663}
+ m_GameObjectRolesMask: 2
+ m_ComponentsRolesMasks: []
+--- !u!1 &225227231207691230
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3180978440730077285}
+ - component: {fileID: 6507011523730525181}
+ - component: {fileID: 4967759898120239357}
+ - component: {fileID: 4296696447585419525}
+ m_Layer: 0
+ m_Name: Cube (32)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3180978440730077285
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 225227231207691230}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: 0.7071071, z: -0, w: 0.70710653}
+ m_LocalPosition: {x: -9.500006, y: 1.5, z: 14.999989}
+ m_LocalScale: {x: 1, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
+--- !u!33 &6507011523730525181
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 225227231207691230}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &4967759898120239357
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 225227231207691230}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &4296696447585419525
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 225227231207691230}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &319498593689015925
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8164795473288929644}
+ m_Layer: 0
+ m_Name: Point (2)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &8164795473288929644
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 319498593689015925}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 25.11, y: 0, z: -18.87}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5627761202754359903}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &464267617892352277
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3087854006121473737}
+ - component: {fileID: 6468445282767733498}
+ - component: {fileID: 5549605676370791162}
+ - component: {fileID: 5706711386396176131}
+ m_Layer: 0
+ m_Name: Cube (20)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3087854006121473737
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 464267617892352277}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0.70710677, z: -0, w: 0.7071068}
+ m_LocalPosition: {x: -15.499998, y: 1.5, z: -12.500001}
+ m_LocalScale: {x: 2, y: 2, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0}
+--- !u!33 &6468445282767733498
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 464267617892352277}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &5549605676370791162
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 464267617892352277}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &5706711386396176131
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 464267617892352277}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &524315117345717254
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4680286588841021115}
+ - component: {fileID: 4935476356901397277}
+ - component: {fileID: 3990845602713028015}
+ m_Layer: 0
+ m_Name: Directional Light
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4680286588841021115
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 524315117345717254}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0.1464466, y: 0.8535535, z: -0.35355338, w: 0.35355338}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 7745568114405092880}
+ m_LocalEulerAnglesHint: {x: 45, y: 135, z: 0}
+--- !u!108 &4935476356901397277
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 524315117345717254}
+ m_Enabled: 1
+ serializedVersion: 11
+ m_Type: 1
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_Intensity: 1
+ m_Range: 10
+ m_SpotAngle: 30
+ m_InnerSpotAngle: 21.80208
+ m_CookieSize: 10
+ m_Shadows:
+ m_Type: 2
+ m_Resolution: -1
+ m_CustomResolution: -1
+ m_Strength: 1
+ m_Bias: 0.05
+ m_NormalBias: 0.4
+ m_NearPlane: 0.2
+ m_CullingMatrixOverride:
+ e00: 1
+ e01: 0
+ e02: 0
+ e03: 0
+ e10: 0
+ e11: 1
+ e12: 0
+ e13: 0
+ e20: 0
+ e21: 0
+ e22: 1
+ e23: 0
+ e30: 0
+ e31: 0
+ e32: 0
+ e33: 1
+ m_UseCullingMatrixOverride: 0
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingLayerMask: 1
+ m_Lightmapping: 4
+ m_LightShadowCasterMode: 0
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 6570
+ m_UseColorTemperature: 0
+ m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_UseBoundingSphereOverride: 0
+ m_UseViewFrustumForShadowCasterCull: 1
+ m_ForceVisible: 0
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+--- !u!114 &3990845602713028015
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 524315117345717254}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Version: 3
+ m_UsePipelineSettings: 1
+ m_AdditionalLightsShadowResolutionTier: 2
+ m_LightLayerMask: 1
+ m_RenderingLayers: 1
+ m_CustomShadowLayers: 0
+ m_ShadowLayerMask: 1
+ m_ShadowRenderingLayers: 1
+ m_LightCookieSize: {x: 1, y: 1}
+ m_LightCookieOffset: {x: 0, y: 0}
+ m_SoftShadowQuality: 0
+--- !u!1 &585092542132206183
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3282216826536886989}
+ - component: {fileID: 4422966446220057421}
+ - component: {fileID: 6252859499279819362}
+ - component: {fileID: 4740210018407842282}
+ m_Layer: 0
+ m_Name: Cube (22)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3282216826536886989
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 585092542132206183}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0.70710677, z: -0, w: 0.7071068}
+ m_LocalPosition: {x: -20.499996, y: 1.5, z: -17.5}
+ m_LocalScale: {x: 2, y: 2, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0}
+--- !u!33 &4422966446220057421
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 585092542132206183}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &6252859499279819362
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 585092542132206183}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &4740210018407842282
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 585092542132206183}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &769689305694336430
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3978050090872914726}
+ - component: {fileID: 8079570034555924619}
+ m_Layer: 0
+ m_Name: Patrols
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3978050090872914726
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 769689305694336430}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: -1.9473133, y: 0, z: -3.914647}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 6587951122178601577}
+ - {fileID: 5440465383083758526}
+ - {fileID: 508144356819177496}
+ - {fileID: 5627761202754359903}
+ m_Father: {fileID: 1600917652919393993}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1652712579 &8079570034555924619
+MultiplayerRolesData:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 769689305694336430}
+ m_GameObjectRolesMask: 2
+ m_ComponentsRolesMasks: []
+--- !u!1 &900678347227894371
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4661679290623207718}
+ - component: {fileID: 6441372478126751721}
+ - component: {fileID: 4755156157915748700}
+ - component: {fileID: 182083263480058821}
+ m_Layer: 0
+ m_Name: Cube (17)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4661679290623207718
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 900678347227894371}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -5, y: 1.5, z: -14.5}
+ m_LocalScale: {x: 2, y: 2, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &6441372478126751721
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 900678347227894371}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &4755156157915748700
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 900678347227894371}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &182083263480058821
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 900678347227894371}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &1000887096588232431
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8371352029230101634}
+ - component: {fileID: 4486105910697512511}
+ - component: {fileID: 2785529548327171430}
+ - component: {fileID: 181390754539113919}
+ m_Layer: 0
+ m_Name: Cube (30)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &8371352029230101634
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1000887096588232431}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: 0.0000004768371, z: -0, w: 1}
+ m_LocalPosition: {x: -7.5000095, y: 1.5, z: 10.499987}
+ m_LocalScale: {x: 1, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &4486105910697512511
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1000887096588232431}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &2785529548327171430
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1000887096588232431}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &181390754539113919
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1000887096588232431}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &1296680327422584070
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1243022537179975965}
+ - component: {fileID: 1833868928525802150}
+ - component: {fileID: 375685477500561529}
+ - component: {fileID: 2066796749267794080}
+ m_Layer: 0
+ m_Name: Cube (6)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1243022537179975965
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1296680327422584070}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: 0.0000004768371, z: -0, w: 1}
+ m_LocalPosition: {x: -17.5, y: 1.5, z: 20.499996}
+ m_LocalScale: {x: 1, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &1833868928525802150
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1296680327422584070}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &375685477500561529
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1296680327422584070}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &2066796749267794080
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1296680327422584070}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &1393820096939805904
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 280374543219432597}
+ m_Layer: 0
+ m_Name: PlayerSpawnLocation (4)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &280374543219432597
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1393820096939805904}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: -22, y: 1, z: 16}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4665728406747330840}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1421249022037569813
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6929116464934226846}
+ m_Layer: 0
+ m_Name: Point (3)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6929116464934226846
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1421249022037569813}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -21.6, y: 0, z: 7}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5440465383083758526}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1493658423887282150
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8587817907508818634}
+ - component: {fileID: 3006230364300833088}
+ - component: {fileID: 2568961482602784015}
+ - component: {fileID: 8793321887270414162}
+ m_Layer: 0
+ m_Name: Cube (25)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &8587817907508818634
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1493658423887282150}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: 0.0000004768371, z: -0, w: 1}
+ m_LocalPosition: {x: -2.5, y: 1.5, z: 20.499983}
+ m_LocalScale: {x: 1, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &3006230364300833088
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1493658423887282150}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &2568961482602784015
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1493658423887282150}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &8793321887270414162
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1493658423887282150}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &1499409729229728483
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1777735228799677508}
+ - component: {fileID: 8226167769916261140}
+ - component: {fileID: 7677330756437208548}
+ - component: {fileID: 3155948907718668353}
+ m_Layer: 0
+ m_Name: Floor
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1777735228799677508
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1499409729229728483}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0.70710576, y: -0, z: -0, w: 0.70710784}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 50, y: 50, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5166037797022220189}
+ m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!33 &8226167769916261140
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1499409729229728483}
+ m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &7677330756437208548
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1499409729229728483}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 2bffc485e1623fe419d9ac763b6a858b, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!64 &3155948907718668353
+MeshCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1499409729229728483}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 5
+ m_Convex: 0
+ m_CookingOptions: 30
+ m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1 &1650216340986908013
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1850220196792871173}
+ m_Layer: 0
+ m_Name: PlayerSpawnLocation (2)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1850220196792871173
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1650216340986908013}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 13, y: 1, z: -9}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4665728406747330840}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1690392579923207736
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1780454001052075936}
+ - component: {fileID: 3724706654895478303}
+ - component: {fileID: 7211380226782259039}
+ m_Layer: 0
+ m_Name: NavMesh Surface
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1780454001052075936
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1690392579923207736}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 16.08102, y: 15.807177, z: 5.6614227}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1600917652919393993}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &3724706654895478303
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1690392579923207736}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 7a5ac11cc976e418e8d13136b07e1f52, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_AgentTypeID: 0
+ m_CollectObjects: 0
+ m_Size: {x: 10, y: 10, z: 10}
+ m_Center: {x: 0, y: 2, z: 0}
+ m_LayerMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_UseGeometry: 0
+ m_DefaultArea: 0
+ m_GenerateLinks: 0
+ m_IgnoreNavMeshAgent: 1
+ m_IgnoreNavMeshObstacle: 1
+ m_OverrideTileSize: 0
+ m_TileSize: 256
+ m_OverrideVoxelSize: 0
+ m_VoxelSize: 0.16666667
+ m_MinRegionArea: 2
+ m_NavMeshData: {fileID: 23800000, guid: 38502a7cea48c2e4d8882f034f96abec, type: 2}
+ m_BuildHeightMesh: 0
+--- !u!1652712579 &7211380226782259039
+MultiplayerRolesData:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1690392579923207736}
+ m_GameObjectRolesMask: 2
+ m_ComponentsRolesMasks: []
+--- !u!1 &1700202405018831595
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5810186318092024907}
+ - component: {fileID: 8073854619230942671}
+ - component: {fileID: 695529890773366355}
+ - component: {fileID: 2542641281169230117}
+ m_Layer: 0
+ m_Name: Cube (12)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5810186318092024907
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1700202405018831595}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0.0000004768371, z: -0, w: 1}
+ m_LocalPosition: {x: 15, y: 1.5, z: -20.499998}
+ m_LocalScale: {x: 1, y: 3, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &8073854619230942671
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1700202405018831595}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &695529890773366355
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1700202405018831595}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &2542641281169230117
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1700202405018831595}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &1794283319179031357
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7870947708748069434}
+ - component: {fileID: 618568292667693161}
+ - component: {fileID: 1791664087834261117}
+ - component: {fileID: 8756799357654199711}
+ m_Layer: 0
+ m_Name: Cube (36)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7870947708748069434
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1794283319179031357}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: 0.70710677, z: -0, w: 0.7071068}
+ m_LocalPosition: {x: 19.5, y: 1.5, z: 5}
+ m_LocalScale: {x: 5, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
+--- !u!33 &618568292667693161
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1794283319179031357}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &1791664087834261117
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1794283319179031357}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &8756799357654199711
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1794283319179031357}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &1805266929620240274
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1600917652919393993}
+ m_Layer: 0
+ m_Name: Gameplay
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1600917652919393993
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1805266929620240274}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1780454001052075936}
+ - {fileID: 4665728406747330840}
+ - {fileID: 3978050090872914726}
+ m_Father: {fileID: 7745568114405092880}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1962574759987601738
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3165688675218171399}
+ m_Layer: 0
+ m_Name: Landmarks
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3165688675218171399
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1962574759987601738}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 4473133205566686151}
+ - {fileID: 5448839053437387643}
+ - {fileID: 4699037825678733205}
+ - {fileID: 8861044696745799861}
+ - {fileID: 8867343215315911338}
+ - {fileID: 5364541620404658559}
+ - {fileID: 3931077358588639406}
+ - {fileID: 5298685240941341483}
+ - {fileID: 3493381454090065644}
+ - {fileID: 5810186318092024907}
+ - {fileID: 5780366786024395694}
+ - {fileID: 754150260333691878}
+ - {fileID: 7654701821667780633}
+ - {fileID: 3832438019259968870}
+ - {fileID: 3087854006121473737}
+ - {fileID: 3282216826536886989}
+ - {fileID: 1218112109379896266}
+ - {fileID: 4661679290623207718}
+ - {fileID: 955202872287216487}
+ - {fileID: 1341191896777437324}
+ - {fileID: 7864087835881751623}
+ - {fileID: 7286756524523864810}
+ - {fileID: 7057679868813061841}
+ - {fileID: 1137862036543658226}
+ - {fileID: 7870947708748069434}
+ - {fileID: 8655603744167093186}
+ - {fileID: 1243022537179975965}
+ - {fileID: 8587817907508818634}
+ - {fileID: 152517958030953115}
+ - {fileID: 5576755110721345368}
+ - {fileID: 7391305248174249135}
+ - {fileID: 6903346669522530476}
+ - {fileID: 4265973017937514138}
+ - {fileID: 3180978440730077285}
+ - {fileID: 8320436217116578186}
+ - {fileID: 7338505255878303347}
+ - {fileID: 8371352029230101634}
+ - {fileID: 4148804095343420993}
+ m_Father: {fileID: 5166037797022220189}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1972990542899152417
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4473133205566686151}
+ - component: {fileID: 7142900083436387076}
+ - component: {fileID: 5669278234667442213}
+ - component: {fileID: 2107789021228194573}
+ m_Layer: 0
+ m_Name: Cube
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4473133205566686151
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1972990542899152417}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0.38268322, w: 0.9238797}
+ m_LocalPosition: {x: 0, y: 1.5, z: 4.5}
+ m_LocalScale: {x: 3, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: -45}
+--- !u!33 &7142900083436387076
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1972990542899152417}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &5669278234667442213
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1972990542899152417}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &2107789021228194573
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1972990542899152417}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &2103293852409489363
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8673875902401068644}
+ m_Layer: 0
+ m_Name: Point (4)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &8673875902401068644
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2103293852409489363}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 13.79, y: 0, z: -3.34}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5627761202754359903}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2186929817286703634
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3134545558676463813}
+ m_Layer: 0
+ m_Name: PlayerSpawnLocation
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3134545558676463813
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2186929817286703634}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 2, y: 1, z: 2}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4665728406747330840}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2213781617677952700
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5692350986199055265}
+ m_Layer: 0
+ m_Name: Door (2)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5692350986199055265
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2213781617677952700}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 9139273055845486514}
+ m_Father: {fileID: 995393563011272186}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2323577037850719321
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 995393563011272186}
+ m_Layer: 0
+ m_Name: Doors
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &995393563011272186
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2323577037850719321}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 3497283956271036502}
+ - {fileID: 7616317762130402575}
+ - {fileID: 5692350986199055265}
+ m_Father: {fileID: 5166037797022220189}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2547025553675184753
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4148804095343420993}
+ - component: {fileID: 1806427422734216210}
+ - component: {fileID: 4352772669947649284}
+ - component: {fileID: 7915718477412962777}
+ m_Layer: 0
+ m_Name: Cube (33)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4148804095343420993
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2547025553675184753}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: 0.7071071, z: -0, w: 0.70710653}
+ m_LocalPosition: {x: -9.500002, y: 1.5, z: 17.499989}
+ m_LocalScale: {x: 1, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
+--- !u!33 &1806427422734216210
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2547025553675184753}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &4352772669947649284
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2547025553675184753}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &7915718477412962777
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2547025553675184753}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &2668467419318211822
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7616317762130402575}
+ m_Layer: 0
+ m_Name: Door (1)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7616317762130402575
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2668467419318211822}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 8971570437270464631}
+ m_Father: {fileID: 995393563011272186}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2682601890334414806
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7286756524523864810}
+ - component: {fileID: 2681627054848441542}
+ - component: {fileID: 3898505010192619413}
+ - component: {fileID: 5153939285847132939}
+ m_Layer: 0
+ m_Name: Cube (5)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7286756524523864810
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2682601890334414806}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: 1, z: -0, w: 0.0000015497205}
+ m_LocalPosition: {x: 10.5, y: 1.5, z: 19.5}
+ m_LocalScale: {x: 5, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
+--- !u!33 &2681627054848441542
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2682601890334414806}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &3898505010192619413
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2682601890334414806}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &5153939285847132939
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2682601890334414806}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &2692740748912293324
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5440465383083758526}
+ - component: {fileID: 6939931140886907233}
+ m_Layer: 0
+ m_Name: Patrol (2)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5440465383083758526
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2692740748912293324}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 2739139612073254443}
+ - {fileID: 5104316030168436757}
+ - {fileID: 6929116464934226846}
+ m_Father: {fileID: 3978050090872914726}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &6939931140886907233
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2692740748912293324}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 585995a8e6d34efaab14e386bba6298d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_PatrolPoints:
+ - {fileID: 2739139612073254443}
+ - {fileID: 5104316030168436757}
+ - {fileID: 6929116464934226846}
+--- !u!1 &2718864821985296986
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 759853596791950126}
+ m_Layer: 0
+ m_Name: Point (3)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &759853596791950126
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2718864821985296986}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 3.86, y: 0, z: -3.23}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5627761202754359903}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &3536690533482120158
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7078270509980905718}
+ m_Layer: 0
+ m_Name: PlayerSpawnLocation (6)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7078270509980905718
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3536690533482120158}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: -14, y: 1, z: -12}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4665728406747330840}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &3763873557964790053
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5298685240941341483}
+ - component: {fileID: 6115196379423064626}
+ - component: {fileID: 1021647720494091621}
+ - component: {fileID: 8381063140262338020}
+ m_Layer: 0
+ m_Name: Cube (10)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5298685240941341483
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3763873557964790053}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0.0000004768371, z: -0, w: 1}
+ m_LocalPosition: {x: 12.999999, y: 1.5, z: -20.5}
+ m_LocalScale: {x: 1, y: 3, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &6115196379423064626
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3763873557964790053}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &1021647720494091621
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3763873557964790053}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &8381063140262338020
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3763873557964790053}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &4129252969998274590
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7654701821667780633}
+ - component: {fileID: 4809278930563722325}
+ - component: {fileID: 4821212668150874316}
+ - component: {fileID: 1125464025583522299}
+ m_Layer: 0
+ m_Name: Cube (3)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7654701821667780633
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4129252969998274590}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 12.5, y: 1.5, z: -5.5}
+ m_LocalScale: {x: 1, y: 3, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &4809278930563722325
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4129252969998274590}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &4821212668150874316
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4129252969998274590}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &1125464025583522299
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4129252969998274590}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &4164523263662868209
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 9076861613828078720}
+ m_Layer: 0
+ m_Name: Point (1)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &9076861613828078720
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4164523263662868209}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 5.7, y: 0, z: 2.4}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5627761202754359903}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &4233483423674029247
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2739139612073254443}
+ m_Layer: 0
+ m_Name: Point (1)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2739139612073254443
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4233483423674029247}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -5.69, y: 0, z: 16.51}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5440465383083758526}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &4394976634284176075
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1218112109379896266}
+ - component: {fileID: 2405277200374008859}
+ - component: {fileID: 243275764406626105}
+ - component: {fileID: 8208817385047968401}
+ m_Layer: 0
+ m_Name: Cube (18)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1218112109379896266
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4394976634284176075}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -12.5, y: 1.5, z: -20.5}
+ m_LocalScale: {x: 2, y: 2, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &2405277200374008859
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4394976634284176075}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &243275764406626105
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4394976634284176075}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &8208817385047968401
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4394976634284176075}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &4448381712842598713
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5780366786024395694}
+ - component: {fileID: 3380809557807510252}
+ - component: {fileID: 1206757269871025349}
+ - component: {fileID: 282219323516612017}
+ m_Layer: 0
+ m_Name: Cube (1)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5780366786024395694
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4448381712842598713}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0.38268322, w: 0.9238797}
+ m_LocalPosition: {x: 0, y: 1.5, z: 0.5}
+ m_LocalScale: {x: 3, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: -45}
+--- !u!33 &3380809557807510252
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4448381712842598713}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &1206757269871025349
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4448381712842598713}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &282219323516612017
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4448381712842598713}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &4592354471097255147
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5576755110721345368}
+ - component: {fileID: 2121656678837036627}
+ - component: {fileID: 6472256305894754220}
+ - component: {fileID: 2126300295380178703}
+ m_Layer: 0
+ m_Name: Cube (31)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5576755110721345368
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4592354471097255147}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: 0.7071071, z: -0, w: 0.70710653}
+ m_LocalPosition: {x: -9.50001, y: 1.5, z: 12.499989}
+ m_LocalScale: {x: 1, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
+--- !u!33 &2121656678837036627
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4592354471097255147}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &6472256305894754220
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4592354471097255147}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &2126300295380178703
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4592354471097255147}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &4623329065087813505
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7059565124450615908}
+ m_Layer: 0
+ m_Name: Point (1)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7059565124450615908
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4623329065087813505}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 25, y: 0, z: 5.5}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 508144356819177496}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &4945378517191541939
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 955202872287216487}
+ - component: {fileID: 5671719904007701250}
+ - component: {fileID: 5442346547103542461}
+ - component: {fileID: 8709819014337339005}
+ m_Layer: 0
+ m_Name: Cube (21)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &955202872287216487
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4945378517191541939}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0.70710677, z: -0, w: 0.7071068}
+ m_LocalPosition: {x: -15.500001, y: 1.5, z: -7.499999}
+ m_LocalScale: {x: 2, y: 2, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0}
+--- !u!33 &5671719904007701250
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4945378517191541939}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &5442346547103542461
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4945378517191541939}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &8709819014337339005
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4945378517191541939}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &5072937536631723036
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8410821208519047829}
+ m_Layer: 0
+ m_Name: Point (3)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &8410821208519047829
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5072937536631723036}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -21.56, y: 0, z: -19.68}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 6587951122178601577}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &5358526038673160674
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4265973017937514138}
+ - component: {fileID: 2758541353235445748}
+ - component: {fileID: 7036477810957049905}
+ - component: {fileID: 4109132731793174521}
+ m_Layer: 0
+ m_Name: Cube (29)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4265973017937514138
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5358526038673160674}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: 0.0000004768371, z: -0, w: 1}
+ m_LocalPosition: {x: -5.0000095, y: 1.5, z: 10.499985}
+ m_LocalScale: {x: 1, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &2758541353235445748
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5358526038673160674}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &7036477810957049905
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5358526038673160674}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &4109132731793174521
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5358526038673160674}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &5452626282848151858
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3931077358588639406}
+ - component: {fileID: 2689982223010551805}
+ - component: {fileID: 3084975273983447454}
+ - component: {fileID: 2830867515392241442}
+ m_Layer: 0
+ m_Name: Cube (14)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3931077358588639406
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5452626282848151858}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0.70710677, z: -0, w: 0.7071068}
+ m_LocalPosition: {x: 20.5, y: 1.5, z: -8}
+ m_LocalScale: {x: 1, y: 3, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0}
+--- !u!33 &2689982223010551805
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5452626282848151858}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &3084975273983447454
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5452626282848151858}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &2830867515392241442
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5452626282848151858}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &5650687232877358095
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3832438019259968870}
+ - component: {fileID: 5197868120320727443}
+ - component: {fileID: 5314654919607745590}
+ - component: {fileID: 8245743714970700847}
+ m_Layer: 0
+ m_Name: Cube (16)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3832438019259968870
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5650687232877358095}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -10, y: 1.5, z: -14.5}
+ m_LocalScale: {x: 2, y: 2, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &5197868120320727443
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5650687232877358095}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &5314654919607745590
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5650687232877358095}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &8245743714970700847
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5650687232877358095}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &5657282575539654595
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6587951122178601577}
+ - component: {fileID: 3422253516398389111}
+ m_Layer: 0
+ m_Name: Patrol (1)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6587951122178601577
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5657282575539654595}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 6390594167940885812}
+ - {fileID: 5489390529270028051}
+ - {fileID: 8410821208519047829}
+ m_Father: {fileID: 3978050090872914726}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &3422253516398389111
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5657282575539654595}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 585995a8e6d34efaab14e386bba6298d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_PatrolPoints:
+ - {fileID: 6390594167940885812}
+ - {fileID: 5489390529270028051}
+ - {fileID: 8410821208519047829}
+--- !u!1 &5697806516671651168
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1603025312585815384}
+ m_Layer: 0
+ m_Name: Columns
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1603025312585815384
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5697806516671651168}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 7986447105155226451}
+ - {fileID: 8691331983035188491}
+ - {fileID: 5572756385725274111}
+ - {fileID: 34504277042308662}
+ - {fileID: 9142030572796893575}
+ - {fileID: 6748819628757925509}
+ - {fileID: 2036939333964181626}
+ - {fileID: 7134890946092029775}
+ - {fileID: 3846687560833500015}
+ - {fileID: 6588416890012215832}
+ - {fileID: 6636084783472768959}
+ - {fileID: 3599134802109121016}
+ - {fileID: 7917497356971406019}
+ - {fileID: 5720886586979392072}
+ - {fileID: 9112041522992455288}
+ - {fileID: 8897550998961354329}
+ - {fileID: 7132974719637102803}
+ - {fileID: 6151629090299326584}
+ - {fileID: 6107231455993364377}
+ - {fileID: 7983669259343708866}
+ - {fileID: 2535542073765601935}
+ - {fileID: 2114892397085042601}
+ - {fileID: 6883559699964624729}
+ - {fileID: 241062111059119362}
+ - {fileID: 2257257619511431703}
+ - {fileID: 7080031060369553752}
+ - {fileID: 4381131039018485668}
+ - {fileID: 5053181597907916123}
+ - {fileID: 6473678262174798202}
+ - {fileID: 3699124474879289008}
+ - {fileID: 4925762205398763042}
+ - {fileID: 4503067514829533264}
+ - {fileID: 7758549539745969678}
+ - {fileID: 7736470167015567688}
+ - {fileID: 4971447589560694803}
+ - {fileID: 8277376246010724729}
+ - {fileID: 7898534911722209646}
+ - {fileID: 4460690720627368263}
+ - {fileID: 6275487712295587294}
+ - {fileID: 3614701211432450094}
+ m_Father: {fileID: 5166037797022220189}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &5909192804671480079
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8867343215315911338}
+ - component: {fileID: 1747105159782664315}
+ - component: {fileID: 8450230191811843790}
+ - component: {fileID: 7999451967475192941}
+ m_Layer: 0
+ m_Name: Cube (9)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &8867343215315911338
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5909192804671480079}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0.70710677, z: -0, w: 0.7071068}
+ m_LocalPosition: {x: 20.5, y: 1.5, z: -10}
+ m_LocalScale: {x: 1, y: 3, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0}
+--- !u!33 &1747105159782664315
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5909192804671480079}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &8450230191811843790
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5909192804671480079}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &7999451967475192941
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5909192804671480079}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &5933332518079592785
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6914336039980976029}
+ m_Layer: 0
+ m_Name: Point (3)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6914336039980976029
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5933332518079592785}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -17.01, y: 0, z: 5.54}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 508144356819177496}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &6088578025057813155
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1341191896777437324}
+ - component: {fileID: 2398067858443186074}
+ - component: {fileID: 6956393133037197175}
+ - component: {fileID: 2707124199653354818}
+ m_Layer: 0
+ m_Name: Cube (23)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1341191896777437324
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6088578025057813155}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0.70710677, z: -0, w: 0.7071068}
+ m_LocalPosition: {x: -20.5, y: 1.5, z: -12.499999}
+ m_LocalScale: {x: 2, y: 2, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0}
+--- !u!33 &2398067858443186074
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6088578025057813155}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &6956393133037197175
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6088578025057813155}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &2707124199653354818
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6088578025057813155}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &6304613718142478137
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5104316030168436757}
+ m_Layer: 0
+ m_Name: Point (2)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5104316030168436757
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6304613718142478137}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -20.76, y: 0, z: 25.88}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5440465383083758526}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &6390888547754862673
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6390594167940885812}
+ m_Layer: 0
+ m_Name: Point (1)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6390594167940885812
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6390888547754862673}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 4.12, y: 0, z: -18.17}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 6587951122178601577}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &6421145295415572930
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1137862036543658226}
+ - component: {fileID: 8395192522909791277}
+ - component: {fileID: 8952157969611432587}
+ - component: {fileID: 5423231608669637115}
+ m_Layer: 0
+ m_Name: Cube (35)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1137862036543658226
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6421145295415572930}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: 0.70710677, z: -0, w: 0.7071068}
+ m_LocalPosition: {x: 20.5, y: 1.5, z: 5}
+ m_LocalScale: {x: 5, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
+--- !u!33 &8395192522909791277
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6421145295415572930}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &8952157969611432587
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6421145295415572930}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &5423231608669637115
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6421145295415572930}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &6427813158200954335
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5280602829846884320}
+ m_Layer: 0
+ m_Name: PlayerSpawnLocation (1)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5280602829846884320
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6427813158200954335}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: -2, y: 1, z: -2}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4665728406747330840}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &6448787015558983505
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8320436217116578186}
+ - component: {fileID: 5802218721966183297}
+ - component: {fileID: 34140389589553164}
+ - component: {fileID: 623326028021797758}
+ m_Layer: 0
+ m_Name: Cube (8)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &8320436217116578186
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6448787015558983505}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: 0.0000004768371, z: -0, w: 1}
+ m_LocalPosition: {x: -22.5, y: 1.5, z: 20.5}
+ m_LocalScale: {x: 1, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &5802218721966183297
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6448787015558983505}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &34140389589553164
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6448787015558983505}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &623326028021797758
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6448787015558983505}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &6647742388053573790
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3796560868652834526}
+ m_Layer: 0
+ m_Name: PlayerSpawnLocation (7)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3796560868652834526
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6647742388053573790}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 1, z: 22}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4665728406747330840}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &6653726230618477557
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 508144356819177496}
+ - component: {fileID: 3146652287139832671}
+ m_Layer: 0
+ m_Name: Patrol (3)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &508144356819177496
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6653726230618477557}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 7059565124450615908}
+ - {fileID: 1621139510484684738}
+ - {fileID: 6914336039980976029}
+ m_Father: {fileID: 3978050090872914726}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &3146652287139832671
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6653726230618477557}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 585995a8e6d34efaab14e386bba6298d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_PatrolPoints:
+ - {fileID: 7059565124450615908}
+ - {fileID: 1621139510484684738}
+ - {fileID: 6914336039980976029}
+--- !u!1 &6686563896734911433
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5364541620404658559}
+ - component: {fileID: 8180673521812017803}
+ - component: {fileID: 5876129171299547206}
+ - component: {fileID: 9021191434363807807}
+ m_Layer: 0
+ m_Name: Cube (13)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5364541620404658559
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6686563896734911433}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0.70710677, z: -0, w: 0.7071068}
+ m_LocalPosition: {x: 20.5, y: 1.5, z: -12}
+ m_LocalScale: {x: 1, y: 3, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0}
+--- !u!33 &8180673521812017803
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6686563896734911433}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &5876129171299547206
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6686563896734911433}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &9021191434363807807
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6686563896734911433}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &6725095597932180148
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1621139510484684738}
+ m_Layer: 0
+ m_Name: Point (2)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1621139510484684738
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6725095597932180148}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 15.21, y: 0, z: 27.81}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 508144356819177496}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &6828059670303713685
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6903346669522530476}
+ - component: {fileID: 3761961083799158710}
+ - component: {fileID: 3204944205834058685}
+ - component: {fileID: 6450907478662193709}
+ m_Layer: 0
+ m_Name: Cube (26)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6903346669522530476
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6828059670303713685}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: 0.0000004768371, z: -0, w: 1}
+ m_LocalPosition: {x: -5, y: 1.5, z: 20.499985}
+ m_LocalScale: {x: 1, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &3761961083799158710
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6828059670303713685}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &3204944205834058685
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6828059670303713685}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &6450907478662193709
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6828059670303713685}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &6866166971681197122
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4699037825678733205}
+ - component: {fileID: 504741558072299187}
+ - component: {fileID: 4534955120644762912}
+ - component: {fileID: 3860522173132568361}
+ m_Layer: 0
+ m_Name: Cube (2)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4699037825678733205
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6866166971681197122}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 17.5, y: 1.5, z: -5.5}
+ m_LocalScale: {x: 1, y: 3, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &504741558072299187
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6866166971681197122}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &4534955120644762912
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6866166971681197122}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &3860522173132568361
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6866166971681197122}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &7027045411261521449
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5448839053437387643}
+ - component: {fileID: 2764525603924818655}
+ - component: {fileID: 7872388067877282684}
+ - component: {fileID: 3465881850314420792}
+ m_Layer: 0
+ m_Name: Cube (4)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5448839053437387643
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7027045411261521449}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: 0.3826837, w: 0.9238795}
+ m_LocalPosition: {x: 0, y: 1.5, z: 4.5}
+ m_LocalScale: {x: 3, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 45}
+--- !u!33 &2764525603924818655
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7027045411261521449}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &7872388067877282684
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7027045411261521449}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &3465881850314420792
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7027045411261521449}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &7146210398503669541
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8861044696745799861}
+ - component: {fileID: 2672658798441605164}
+ - component: {fileID: 7457637620321303661}
+ - component: {fileID: 5695033593874279788}
+ m_Layer: 0
+ m_Name: Cube (15)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &8861044696745799861
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7146210398503669541}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 15, y: 1.5, z: -5.5}
+ m_LocalScale: {x: 1, y: 3, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &2672658798441605164
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7146210398503669541}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &7457637620321303661
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7146210398503669541}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &5695033593874279788
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7146210398503669541}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &7324817704786014294
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3493381454090065644}
+ - component: {fileID: 4361202902113422496}
+ - component: {fileID: 4558138905460866197}
+ - component: {fileID: 2441136051569314390}
+ m_Layer: 0
+ m_Name: Cube (11)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3493381454090065644
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7324817704786014294}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0.0000004768371, z: -0, w: 1}
+ m_LocalPosition: {x: 17, y: 1.5, z: -20.499996}
+ m_LocalScale: {x: 1, y: 3, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &4361202902113422496
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7324817704786014294}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &4558138905460866197
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7324817704786014294}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &2441136051569314390
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7324817704786014294}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &7493790194477015609
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 152517958030953115}
+ - component: {fileID: 6818694966035834238}
+ - component: {fileID: 3148072045574143087}
+ - component: {fileID: 7970177212652322242}
+ m_Layer: 0
+ m_Name: Cube (28)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &152517958030953115
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7493790194477015609}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: 0.0000004768371, z: -0, w: 1}
+ m_LocalPosition: {x: -2.5000095, y: 1.5, z: 10.499983}
+ m_LocalScale: {x: 1, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &6818694966035834238
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7493790194477015609}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &3148072045574143087
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7493790194477015609}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &7970177212652322242
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7493790194477015609}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &7517295432087546018
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3497283956271036502}
+ m_Layer: 0
+ m_Name: Door
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3497283956271036502
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7517295432087546018}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 8061286116217688960}
+ m_Father: {fileID: 995393563011272186}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &7851486233348326608
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7745568114405092880}
+ m_Layer: 0
+ m_Name: Environment
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7745568114405092880
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7851486233348326608}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 4680286588841021115}
+ - {fileID: 1600917652919393993}
+ - {fileID: 5166037797022220189}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &7903749343546795107
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5627761202754359903}
+ - component: {fileID: 1920401968545700819}
+ m_Layer: 0
+ m_Name: Patrol (4)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5627761202754359903
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7903749343546795107}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 9076861613828078720}
+ - {fileID: 8164795473288929644}
+ - {fileID: 759853596791950126}
+ - {fileID: 8673875902401068644}
+ m_Father: {fileID: 3978050090872914726}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1920401968545700819
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7903749343546795107}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 585995a8e6d34efaab14e386bba6298d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_PatrolPoints:
+ - {fileID: 9076861613828078720}
+ - {fileID: 8164795473288929644}
+ - {fileID: 759853596791950126}
+ - {fileID: 8673875902401068644}
+--- !u!1 &7944634001377301186
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7391305248174249135}
+ - component: {fileID: 3208639755660112899}
+ - component: {fileID: 8856005669978842283}
+ - component: {fileID: 6135450214268827893}
+ m_Layer: 0
+ m_Name: Cube (7)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7391305248174249135
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7944634001377301186}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: 0.0000004768371, z: -0, w: 1}
+ m_LocalPosition: {x: -20, y: 1.5, z: 20.499998}
+ m_LocalScale: {x: 1, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &3208639755660112899
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7944634001377301186}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &8856005669978842283
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7944634001377301186}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &6135450214268827893
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7944634001377301186}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &8061473494838490778
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5166037797022220189}
+ m_Layer: 0
+ m_Name: Structure
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5166037797022220189
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8061473494838490778}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1777735228799677508}
+ - {fileID: 2001786098254778324}
+ - {fileID: 9221003619184737873}
+ - {fileID: 1603025312585815384}
+ - {fileID: 3165688675218171399}
+ - {fileID: 995393563011272186}
+ m_Father: {fileID: 7745568114405092880}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &8190397203442426657
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6574346925230522449}
+ m_Layer: 0
+ m_Name: PlayerSpawnLocation (3)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6574346925230522449
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8190397203442426657}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 22, y: 1, z: 4}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4665728406747330840}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &8194567832192096239
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7864087835881751623}
+ - component: {fileID: 4017600373508260656}
+ - component: {fileID: 485086236818240056}
+ - component: {fileID: 1677798145778731796}
+ m_Layer: 0
+ m_Name: Cube (19)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7864087835881751623
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8194567832192096239}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -7.5, y: 1.5, z: -20.5}
+ m_LocalScale: {x: 2, y: 2, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &4017600373508260656
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8194567832192096239}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &485086236818240056
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8194567832192096239}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &1677798145778731796
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8194567832192096239}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &8198071126687418567
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 9221003619184737873}
+ m_Layer: 0
+ m_Name: OuterWalls
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &9221003619184737873
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8198071126687418567}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 5143677042977804122}
+ - {fileID: 4249715697251602787}
+ - {fileID: 6192917746344848819}
+ - {fileID: 3562012581494711293}
+ m_Father: {fileID: 5166037797022220189}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &8209456124719401336
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3670461386743408464}
+ m_Layer: 0
+ m_Name: PlayerSpawnLocation (5)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3670461386743408464
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8209456124719401336}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: -17, y: 1, z: -22}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4665728406747330840}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &8290317840844643362
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8655603744167093186}
+ - component: {fileID: 8670706110811003816}
+ - component: {fileID: 3238835330193363253}
+ - component: {fileID: 6320763999002817427}
+ m_Layer: 0
+ m_Name: Cube (37)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &8655603744167093186
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8290317840844643362}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: 0.70710677, z: -0, w: 0.7071068}
+ m_LocalPosition: {x: 19.5, y: 1.5, z: 20}
+ m_LocalScale: {x: 5, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
+--- !u!33 &8670706110811003816
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8290317840844643362}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &3238835330193363253
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8290317840844643362}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &6320763999002817427
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8290317840844643362}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &8339775761137355358
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 754150260333691878}
+ - component: {fileID: 481336024329958825}
+ - component: {fileID: 9110512867155828094}
+ - component: {fileID: 257531116603258497}
+ m_Layer: 0
+ m_Name: Cube (24)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &754150260333691878
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8339775761137355358}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: 0.3826837, w: 0.9238795}
+ m_LocalPosition: {x: 0, y: 1.5, z: 0.5}
+ m_LocalScale: {x: 3, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 45}
+--- !u!33 &481336024329958825
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8339775761137355358}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &9110512867155828094
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8339775761137355358}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &257531116603258497
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8339775761137355358}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &8498458990069005827
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5489390529270028051}
+ m_Layer: 0
+ m_Name: Point (2)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5489390529270028051
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8498458990069005827}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -1.89, y: 0, z: 2.14}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 6587951122178601577}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &8639684277812794102
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2001786098254778324}
+ m_Layer: 0
+ m_Name: InnerWalls
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2001786098254778324
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8639684277812794102}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 2067652153282086978}
+ - {fileID: 2608423965619954201}
+ - {fileID: 8318715720115241042}
+ - {fileID: 1707488270147557914}
+ - {fileID: 1611482276952513234}
+ - {fileID: 4509754857457651455}
+ - {fileID: 3119956602639168951}
+ - {fileID: 2063834415254559507}
+ - {fileID: 9160956069517114149}
+ - {fileID: 5275601380115076686}
+ - {fileID: 610647590729859734}
+ - {fileID: 6996043337597221160}
+ - {fileID: 92554039941061178}
+ - {fileID: 1504948995322964651}
+ - {fileID: 8579004899555857936}
+ - {fileID: 7091312414528626096}
+ - {fileID: 5626134090584454134}
+ - {fileID: 7596166956016147188}
+ - {fileID: 614754513224679157}
+ - {fileID: 4532613787223022998}
+ - {fileID: 8686527455459847363}
+ - {fileID: 7943702937536625918}
+ - {fileID: 8884221756354958493}
+ - {fileID: 5460853920785226437}
+ - {fileID: 7029470146497215426}
+ - {fileID: 6254109422776282612}
+ - {fileID: 1562209180917709468}
+ - {fileID: 4429004086088644007}
+ - {fileID: 3141855785390937852}
+ - {fileID: 657930040896611187}
+ - {fileID: 4820611945162158485}
+ - {fileID: 7456390122518550565}
+ - {fileID: 3364107324004574854}
+ - {fileID: 2872207220192550108}
+ - {fileID: 3545842330321501600}
+ - {fileID: 5521599310499389849}
+ m_Father: {fileID: 5166037797022220189}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &9075322989064504205
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7057679868813061841}
+ - component: {fileID: 8644081382919318376}
+ - component: {fileID: 6154625103603008318}
+ - component: {fileID: 2059753932125318608}
+ m_Layer: 0
+ m_Name: Cube (34)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7057679868813061841
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 9075322989064504205}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: 0.70710677, z: -0, w: 0.7071068}
+ m_LocalPosition: {x: 20.5, y: 1.5, z: 20}
+ m_LocalScale: {x: 5, y: 1, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3165688675218171399}
+ m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
+--- !u!33 &8644081382919318376
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 9075322989064504205}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &6154625103603008318
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 9075322989064504205}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &2059753932125318608
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 9075322989064504205}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1001 &153676620453200700
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (20)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &2535542073765601935 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 153676620453200700}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &190586463360145087
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &2067652153282086978 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 190586463360145087}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &193911769328928238
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (30)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 90
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &2063834415254559507 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 193911769328928238}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &597286991200027695
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (27)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 90
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &1611482276952513234 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 597286991200027695}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &695498578288542951
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (16)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 90
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &1707488270147557914 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 695498578288542951}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &789951749919700054
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (23)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 90
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &1504948995322964651 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 789951749919700054}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &845211305384289377
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (34)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &1562209180917709468 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 845211305384289377}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &1216891159524909131
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (11)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &3599134802109121016 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 1216891159524909131}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &1316203495587333891
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (27)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &3699124474879289008 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 1316203495587333891}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &1384867463168301469
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (37)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &3614701211432450094 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 1384867463168301469}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &1473763343140086492
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (8)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &3846687560833500015 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 1473763343140086492}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &1616136350707342443
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (2)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &610647590729859734 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 1616136350707342443}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &1629410486551584776
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (4)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &614754513224679157 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 1629410486551584776}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &1672436555674058126
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (18)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &657930040896611187 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 1672436555674058126}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &2086988058147569908
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (35)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &4460690720627368263 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 2086988058147569908}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &2151895372918482455
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (25)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &4381131039018485668 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 2151895372918482455}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &2246969241902088881
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -25
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 2.15
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 25
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7079567265854147426, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_Name
+ value: ColumnCorner (1)
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+--- !u!4 &5572756385725274111 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ m_PrefabInstance: {fileID: 2246969241902088881}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &2259697218855486663
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (3)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 90
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &92554039941061178 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 2259697218855486663}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &2265286477447270883
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (29)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &4503067514829533264 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 2265286477447270883}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &2342155391954849794
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (28)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 90
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &4509754857457651455 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 2342155391954849794}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &2374465681137615723
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (24)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &4532613787223022998 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 2374465681137615723}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &2470675955685944497
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (23)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &241062111059119362 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 2470675955685944497}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &2549639978388171610
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (5)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &4429004086088644007 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 2549639978388171610}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &2634293486027591997
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 9221003619184737873}
+ m_Modifications:
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -25
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8692933014445395654, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_Name
+ value: OuterWall
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+--- !u!4 &5143677042977804122 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ m_PrefabInstance: {fileID: 2634293486027591997}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &3090998306494582853
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 25
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 2.15
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -25
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7079567265854147426, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_Name
+ value: ColumnCorner (2)
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+--- !u!4 &8691331983035188491 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ m_PrefabInstance: {fileID: 3090998306494582853}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &3396139755878753117
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (14)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &3545842330321501600 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 3396139755878753117}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &3511516903324661883
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (6)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &3364107324004574854 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 3511516903324661883}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &3843980829237062474
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (29)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 90
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &3119956602639168951 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 3843980829237062474}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &3859236325192140801
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (22)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &3141855785390937852 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 3859236325192140801}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &3899353201493816276
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 9221003619184737873}
+ m_Modifications:
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 25
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 90
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8692933014445395654, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_Name
+ value: OuterWall (2)
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+--- !u!4 &6192917746344848819 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ m_PrefabInstance: {fileID: 3899353201493816276}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &4163858173322887713
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (13)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &2872207220192550108 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 4163858173322887713}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &4190076135301954788
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (7)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &2608423965619954201 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 4190076135301954788}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &4343842140180432410
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (21)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &2114892397085042601 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 4343842140180432410}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &4372205389027282461
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -25
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 2.15
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -25
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7079567265854147426, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_Name
+ value: ColumnCorner
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+--- !u!4 &7986447105155226451 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ m_PrefabInstance: {fileID: 4372205389027282461}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &4419543678365389257
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (6)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &2036939333964181626 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 4419543678365389257}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &4486312964063474596
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (24)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &2257257619511431703 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 4486312964063474596}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &4761940347381692156
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (7)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &7134890946092029775 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 4761940347381692156}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &4850557924423063787
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (38)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &7080031060369553752 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 4850557924423063787}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &4894459176324022624
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (16)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &7132974719637102803 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 4894459176324022624}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &5251145141647307529
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (33)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &6254109422776282612 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 5251145141647307529}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &5353795515674841339
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (31)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &7736470167015567688 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 5353795515674841339}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &5384635770733221821
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (30)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &7758549539745969678 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 5384635770733221821}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &5516009731044876509
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (34)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &7898534911722209646 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 5516009731044876509}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &5544335635942314864
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (12)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &7917497356971406019 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 5544335635942314864}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &5753989415242113905
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (19)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &7983669259343708866 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 5753989415242113905}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &5764841619235237131
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (10)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 90
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &5626134090584454134 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 5764841619235237131}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &5909333506502882168
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 25
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 2.15
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 25
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7079567265854147426, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ propertyPath: m_Name
+ value: ColumnCorner (3)
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+--- !u!4 &34504277042308662 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 5942709676016424270, guid: 2f78ebb30e3a83f4ab128bbb6dc5dc1a, type: 3}
+ m_PrefabInstance: {fileID: 5909333506502882168}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &5945366553011436954
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 9221003619184737873}
+ m_Modifications:
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -25
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 90
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8692933014445395654, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_Name
+ value: OuterWall (3)
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+--- !u!4 &3562012581494711293 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ m_PrefabInstance: {fileID: 5945366553011436954}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &5959518620021997412
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (15)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &5521599310499389849 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 5959518620021997412}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &6038997042268184778
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (33)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &8277376246010724729 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 6038997042268184778}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &6186827101007823928
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (17)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &5460853920785226437 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 6186827101007823928}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &6278699911206062259
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (8)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 90
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &5275601380115076686 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 6278699911206062259}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &6419570220404281092
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 9221003619184737873}
+ m_Modifications:
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 25
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8692933014445395654, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ propertyPath: m_Name
+ value: OuterWall (1)
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+--- !u!4 &4249715697251602787 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 7200377239727955559, guid: 7d4f1eb8d1bee4b4e81c96df15e29c77, type: 3}
+ m_PrefabInstance: {fileID: 6419570220404281092}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &6515448042667972586
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (15)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &8897550998961354329 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 6515448042667972586}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &6697590180427214696
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (12)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 90
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &4820611945162158485 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 6697590180427214696}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &6874058167700783051
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (14)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &9112041522992455288 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 6874058167700783051}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &6903721746880247860
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &9142030572796893575 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 6903721746880247860}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &7004960884370023896
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (31)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 90
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &9160956069517114149 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 7004960884370023896}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &7025787201908337806
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 7616317762130402575}
+ m_Modifications:
+ - target: {fileID: 1543040225488686832, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: GlobalObjectIdHash
+ value: 999614540
+ objectReference: {fileID: 0}
+ - target: {fileID: 2069775962434475909, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_Extents.x
+ value: 1.25
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 17.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5552746568232565716, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_SwitchesThatOpenThisDoor.Array.size
+ value: 2
+ objectReference: {fileID: 0}
+ - target: {fileID: 6388142730547060147, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_GameObjectRolesMask
+ value: 3
+ objectReference: {fileID: 0}
+ - target: {fileID: 7302158283125209923, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_Name
+ value: InteractiveDoor
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+--- !u!4 &8971570437270464631 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ m_PrefabInstance: {fileID: 7025787201908337806}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &7193602752350882635
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 5692350986199055265}
+ m_Modifications:
+ - target: {fileID: 1543040225488686832, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: GlobalObjectIdHash
+ value: 865899218
+ objectReference: {fileID: 0}
+ - target: {fileID: 2069775962434475909, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_Extents.x
+ value: 1.25
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -12.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5552746568232565716, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_SwitchesThatOpenThisDoor.Array.size
+ value: 2
+ objectReference: {fileID: 0}
+ - target: {fileID: 6388142730547060147, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_GameObjectRolesMask
+ value: 3
+ objectReference: {fileID: 0}
+ - target: {fileID: 7302158283125209923, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_Name
+ value: InteractiveDoor
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+--- !u!4 &9139273055845486514 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ m_PrefabInstance: {fileID: 7193602752350882635}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &7298686448929662865
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (28)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &4925762205398763042 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 7298686448929662865}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &7304776270145030752
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (11)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &8884221756354958493 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 7304776270145030752}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &7345326158495537568
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (32)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &4971447589560694803 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 7345326158495537568}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &7392765989885817406
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (25)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &8686527455459847363 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 7392765989885817406}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &7435856283307734248
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (39)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &5053181597907916123 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 7435856283307734248}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &7573471611244497133
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (20)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 90
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &8579004899555857936 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 7573471611244497133}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &7883230168163704495
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (1)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 90
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &8318715720115241042 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 7883230168163704495}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &7959366929109122043
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (13)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &5720886586979392072 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 7959366929109122043}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &8082110263274234371
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (26)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &7943702937536625918 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 8082110263274234371}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &8277201564967114617
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 3497283956271036502}
+ m_Modifications:
+ - target: {fileID: 1543040225488686832, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: GlobalObjectIdHash
+ value: 1219811910
+ objectReference: {fileID: 0}
+ - target: {fileID: 2069775962434475909, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_Extents.x
+ value: 1.25
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 2.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5552746568232565716, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_SwitchesThatOpenThisDoor.Array.size
+ value: 2
+ objectReference: {fileID: 0}
+ - target: {fileID: 6388142730547060147, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_GameObjectRolesMask
+ value: 3
+ objectReference: {fileID: 0}
+ - target: {fileID: 7302158283125209923, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ propertyPath: m_Name
+ value: InteractiveDoor
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+--- !u!4 &8061286116217688960 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2090224359952975097, guid: bf3b0527c90e1b8439364c8d6be51d05, type: 3}
+ m_PrefabInstance: {fileID: 8277201564967114617}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &8380930728291881419
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (17)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &6151629090299326584 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 8380930728291881419}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &8489505894230203946
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (18)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &6107231455993364377 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 8489505894230203946}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &8504754138579168365
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (36)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &6275487712295587294 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 8504754138579168365}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &8610845469058270217
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (35)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &7596166956016147188 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 8610845469058270217}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &8702878710936023241
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (26)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &6473678262174798202 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 8702878710936023241}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &8750129600015894232
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (19)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 90
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &7456390122518550565 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 8750129600015894232}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &8826831271379520427
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (9)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &6588416890012215832 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 8826831271379520427}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &8970529290234676045
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (21)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 90
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &7091312414528626096 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 8970529290234676045}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &8987330759365943094
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (5)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &6748819628757925509 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 8987330759365943094}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &9009994161859499532
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (10)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -15
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &6636084783472768959 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 9009994161859499532}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &9121661803605761770
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1603025312585815384}
+ m_Modifications:
+ - target: {fileID: 1249436750606663583, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_Name
+ value: Column (22)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+--- !u!4 &6883559699964624729 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2382956189924090291, guid: c1668a7d2b722184c90aa08274e6f666, type: 3}
+ m_PrefabInstance: {fileID: 9121661803605761770}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &9151929705713067989
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (9)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &6996043337597221160 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 9151929705713067989}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &9194501161964201279
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 2001786098254778324}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: Wall (32)
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -20
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &7029470146497215426 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 9194501161964201279}
+ m_PrefabAsset: {fileID: 0}
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/Environment.prefab.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/Environment.prefab.meta
new file mode 100644
index 000000000..06eea6f64
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/Environment.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3a41671a155a2cb4aacaae406dfb14e6
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/InteractiveDoor.prefab b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/InteractiveDoor.prefab
new file mode 100644
index 000000000..f98590b8e
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/InteractiveDoor.prefab
@@ -0,0 +1,1200 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &93667969746612329
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2106250107605600821}
+ - component: {fileID: 6407034164099628972}
+ - component: {fileID: 2069775962434475909}
+ - component: {fileID: 6740595407276754438}
+ m_Layer: 0
+ m_Name: DoorPhysics
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2106250107605600821
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 93667969746612329}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 2090224359952975097}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &6407034164099628972
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 93667969746612329}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 3, y: 3, z: 0.5}
+ m_Center: {x: 0, y: 1.5, z: 0}
+--- !u!208 &2069775962434475909
+NavMeshObstacle:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 93667969746612329}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Shape: 1
+ m_Extents: {x: 1.2, y: 1.5, z: 0.35}
+ m_MoveThreshold: 0.1
+ m_Carve: 1
+ m_CarveOnlyStationary: 1
+ m_Center: {x: 0, y: 1.5, z: 0}
+ m_TimeToStationary: 0.5
+--- !u!1652712579 &6740595407276754438
+MultiplayerRolesData:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 93667969746612329}
+ m_GameObjectRolesMask: 3
+ m_ComponentsRolesMasks:
+ - m_Object: {fileID: 2069775962434475909}
+ m_RolesMask: 2
+--- !u!1 &316092984287819552
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7129640825306538333}
+ - component: {fileID: 8327917078520501200}
+ - component: {fileID: 6815075155905973817}
+ m_Layer: 0
+ m_Name: Door (2)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7129640825306538333
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 316092984287819552}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0.00000027257965, y: -0.00000022351742, z: 0.7071068, w: 0.7071068}
+ m_LocalPosition: {x: 1.55, y: 2.471, z: -0.00000003469223}
+ m_LocalScale: {x: 1, y: 1.5500001, z: 0.3}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 579413783569571666}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
+--- !u!33 &8327917078520501200
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 316092984287819552}
+ m_Mesh: {fileID: 3921568967233161584, guid: 2a8b19134ddec0a4895e05cc686b950c, type: 3}
+--- !u!23 &6815075155905973817
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 316092984287819552}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!1 &554482405137755082
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2201684054218403600}
+ m_Layer: 0
+ m_Name: DoorFramePhysics_parent
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2201684054218403600
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 554482405137755082}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 4880743087581899378}
+ - {fileID: 7981439760200734590}
+ m_Father: {fileID: 2090224359952975097}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1632604486844418232
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4312085910233497978}
+ - component: {fileID: 3420970396092932332}
+ - component: {fileID: 4122475575683255164}
+ m_Layer: 0
+ m_Name: Frame (1)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4312085910233497978
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1632604486844418232}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 2, y: 1.625, z: 0}
+ m_LocalScale: {x: 1, y: 3.25, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 2090224359952975097}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &3420970396092932332
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1632604486844418232}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &4122475575683255164
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1632604486844418232}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: e59b457e7a5124b4291e17c4a49d026e, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!1 &2961130635411433250
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1142506338506393822}
+ - component: {fileID: 5033833873258015250}
+ - component: {fileID: 1848195555481665346}
+ m_Layer: 0
+ m_Name: Door
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1142506338506393822
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2961130635411433250}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0.00000027257965, y: -0.00000022351742, z: 0.7071068, w: 0.7071068}
+ m_LocalPosition: {x: 1.55, y: 3.925, z: -0.00000003469223}
+ m_LocalScale: {x: 1, y: 1.5500001, z: 0.3}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 579413783569571666}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
+--- !u!33 &5033833873258015250
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2961130635411433250}
+ m_Mesh: {fileID: 3921568967233161584, guid: 2a8b19134ddec0a4895e05cc686b950c, type: 3}
+--- !u!23 &1848195555481665346
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2961130635411433250}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!1 &3916442271324235957
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7981439760200734590}
+ - component: {fileID: 6857344861398346433}
+ - component: {fileID: 2694841390772635202}
+ - component: {fileID: 203207918409622690}
+ m_Layer: 0
+ m_Name: DoorFramePhysicsL
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7981439760200734590
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3916442271324235957}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 2201684054218403600}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &6857344861398346433
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3916442271324235957}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1e3fdca004f2d45fe8abbed571a8abd5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_OverrideArea: 1
+ m_Area: 1
+ m_OverrideGenerateLinks: 0
+ m_GenerateLinks: 0
+ m_IgnoreFromBuild: 0
+ m_ApplyToChildren: 1
+ m_AffectedAgents: ffffffff
+--- !u!65 &2694841390772635202
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3916442271324235957}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 3.25, z: 1}
+ m_Center: {x: 2, y: 1.625, z: 0}
+--- !u!1652712579 &203207918409622690
+MultiplayerRolesData:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3916442271324235957}
+ m_GameObjectRolesMask: 3
+ m_ComponentsRolesMasks:
+ - m_Object: {fileID: 6857344861398346433}
+ m_RolesMask: 2
+--- !u!1 &4275807960707065670
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3356548232797367102}
+ - component: {fileID: 8198653287587426195}
+ - component: {fileID: 8902413190047583302}
+ m_Layer: 0
+ m_Name: UIDocument
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3356548232797367102
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4275807960707065670}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4886477488530207384}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &8198653287587426195
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4275807960707065670}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_PanelSettings: {fileID: 11400000, guid: 3405937bf1481d5449638a592677cbe5, type: 2}
+ m_ParentUI: {fileID: 0}
+ sourceAsset: {fileID: 9197481963319205126, guid: 1fcaf722e02fa0847846b9c9e94fe9e3, type: 3}
+ m_SortingOrder: 0
+--- !u!1652712579 &8902413190047583302
+MultiplayerRolesData:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4275807960707065670}
+ m_GameObjectRolesMask: 1
+ m_ComponentsRolesMasks:
+ - m_Object: {fileID: 8198653287587426195}
+ m_RolesMask: 1
+--- !u!1 &5421232948051531449
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8096287556080331715}
+ - component: {fileID: 5203847949036600066}
+ - component: {fileID: 6762261585824825886}
+ - component: {fileID: 139682764693067848}
+ m_Layer: 0
+ m_Name: Quad
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &8096287556080331715
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5421232948051531449}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0.97}
+ m_LocalScale: {x: 2, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4886477488530207384}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &5203847949036600066
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5421232948051531449}
+ m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &6762261585824825886
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5421232948051531449}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 2
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 0
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 1dd533cc4e0f6e44fb155b7f90c03806, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!1652712579 &139682764693067848
+MultiplayerRolesData:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5421232948051531449}
+ m_GameObjectRolesMask: 1
+ m_ComponentsRolesMasks: []
+--- !u!1 &6393189244461284900
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4886477488530207384}
+ - component: {fileID: 1883109393939702575}
+ m_Layer: 0
+ m_Name: UI
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4886477488530207384
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6393189244461284900}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 2, z: -1.5}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 3356548232797367102}
+ - {fileID: 8096287556080331715}
+ m_Father: {fileID: 2090224359952975097}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1652712579 &1883109393939702575
+MultiplayerRolesData:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6393189244461284900}
+ m_GameObjectRolesMask: 1
+ m_ComponentsRolesMasks: []
+--- !u!1 &6456917594806216648
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 579413783569571666}
+ - component: {fileID: 3322828992578250737}
+ - component: {fileID: 5494774825844572610}
+ m_Layer: 0
+ m_Name: Doors
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &579413783569571666
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6456917594806216648}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0.72838, z: 0}
+ m_LocalScale: {x: 1, y: 0.51440996, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1142506338506393822}
+ - {fileID: 5711646895706436754}
+ - {fileID: 7129640825306538333}
+ - {fileID: 5600296935822013356}
+ m_Father: {fileID: 2090224359952975097}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!95 &3322828992578250737
+Animator:
+ serializedVersion: 7
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6456917594806216648}
+ m_Enabled: 1
+ m_Avatar: {fileID: 0}
+ m_Controller: {fileID: 9100000, guid: d868fefb08efbe24b8ba83d4e4797803, type: 2}
+ m_CullingMode: 0
+ m_UpdateMode: 0
+ m_ApplyRootMotion: 0
+ m_LinearVelocityBlending: 0
+ m_StabilizeFeet: 0
+ m_AnimatePhysics: 0
+ m_WarningMessage:
+ m_HasTransformHierarchy: 1
+ m_AllowConstantClipSamplingOptimization: 1
+ m_KeepAnimatorStateOnDisable: 0
+ m_WriteDefaultValuesOnDisable: 0
+--- !u!114 &5494774825844572610
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6456917594806216648}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: e8d0727d5ae3244e3b569694d3912374, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ TransitionStateInfoList: []
+ m_Animator: {fileID: 3322828992578250737}
+--- !u!1 &6636459383749091022
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5711646895706436754}
+ - component: {fileID: 1909721742949779006}
+ - component: {fileID: 5587403918107943045}
+ m_Layer: 0
+ m_Name: Door (1)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5711646895706436754
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6636459383749091022}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0.70710677, y: -0.7071069, z: -0.0000010186662, w: -0.0000009834765}
+ m_LocalPosition: {x: -1.55, y: 1.015, z: -0.000008583069}
+ m_LocalScale: {x: 1, y: 1.55, z: 0.3}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 579413783569571666}
+ m_LocalEulerAnglesHint: {x: 0, y: -180, z: 90}
+--- !u!33 &1909721742949779006
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6636459383749091022}
+ m_Mesh: {fileID: 3921568967233161584, guid: 2a8b19134ddec0a4895e05cc686b950c, type: 3}
+--- !u!23 &5587403918107943045
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6636459383749091022}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!1 &6780340557584253908
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2923278800658260705}
+ - component: {fileID: 2807616959476869846}
+ - component: {fileID: 7699471662701923967}
+ m_Layer: 0
+ m_Name: Frame
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2923278800658260705
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6780340557584253908}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: -2, y: 1.625, z: 0}
+ m_LocalScale: {x: 1, y: 3.25, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 2090224359952975097}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &2807616959476869846
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6780340557584253908}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &7699471662701923967
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6780340557584253908}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: e59b457e7a5124b4291e17c4a49d026e, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!1 &7302158283125209923
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2090224359952975097}
+ - component: {fileID: 1543040225488686832}
+ - component: {fileID: 5552746568232565716}
+ - component: {fileID: 6440564718939996764}
+ - component: {fileID: 6838358246829166223}
+ m_Layer: 0
+ m_Name: InteractiveDoor
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2090224359952975097
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7302158283125209923}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 4886477488530207384}
+ - {fileID: 2106250107605600821}
+ - {fileID: 2201684054218403600}
+ - {fileID: 2923278800658260705}
+ - {fileID: 4312085910233497978}
+ - {fileID: 579413783569571666}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1543040225488686832
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7302158283125209923}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ GlobalObjectIdHash: 3387826871
+ AlwaysReplicateAsRoot: 0
+ SynchronizeTransform: 1
+ ActiveSceneSynchronization: 0
+ SceneMigrationSynchronization: 1
+ SpawnWithObservers: 1
+ DontDestroyWithOwner: 0
+ AutoObjectParentSync: 1
+--- !u!114 &5552746568232565716
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7302158283125209923}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: ad6052574cd80ab4a940feee78103150, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Animator: {fileID: 3322828992578250737}
+ m_UI: {fileID: 6393189244461284900}
+ m_ForceOpen: 0
+ m_PhysicsObject: {fileID: 93667969746612329}
+--- !u!65 &6440564718939996764
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7302158283125209923}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 1
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 2.37, y: 3.2, z: 1.7}
+ m_Center: {x: 0.05, y: 1.6, z: -1.26}
+--- !u!54 &6838358246829166223
+Rigidbody:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7302158283125209923}
+ serializedVersion: 4
+ m_Mass: 1
+ m_Drag: 0
+ m_AngularDrag: 0.05
+ m_CenterOfMass: {x: 0, y: 0, z: 0}
+ m_InertiaTensor: {x: 1, y: 1, z: 1}
+ m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ImplicitCom: 1
+ m_ImplicitTensor: 1
+ m_UseGravity: 0
+ m_IsKinematic: 1
+ m_Interpolate: 0
+ m_Constraints: 0
+ m_CollisionDetection: 0
+--- !u!1 &9154305643594071385
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5600296935822013356}
+ - component: {fileID: 1315690607936905031}
+ - component: {fileID: 1716231338272287306}
+ m_Layer: 0
+ m_Name: Door (3)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5600296935822013356
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 9154305643594071385}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0.70710677, y: -0.7071069, z: -0.00000014720766, w: -0.00000020116565}
+ m_LocalPosition: {x: -1.55, y: -0.448, z: -0.0000086177615}
+ m_LocalScale: {x: 1, y: 1.5500001, z: 0.3}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 579413783569571666}
+ m_LocalEulerAnglesHint: {x: 0, y: -180, z: 90}
+--- !u!33 &1315690607936905031
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 9154305643594071385}
+ m_Mesh: {fileID: 3921568967233161584, guid: 2a8b19134ddec0a4895e05cc686b950c, type: 3}
+--- !u!23 &1716231338272287306
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 9154305643594071385}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!1 &9203972973945998945
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4880743087581899378}
+ - component: {fileID: 3529144327280648617}
+ - component: {fileID: 6380876052315757871}
+ - component: {fileID: 5741560754897452800}
+ m_Layer: 0
+ m_Name: DoorFramePhysicsR
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4880743087581899378
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 9203972973945998945}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 2201684054218403600}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &3529144327280648617
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 9203972973945998945}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1e3fdca004f2d45fe8abbed571a8abd5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_OverrideArea: 1
+ m_Area: 1
+ m_OverrideGenerateLinks: 0
+ m_GenerateLinks: 0
+ m_IgnoreFromBuild: 0
+ m_ApplyToChildren: 1
+ m_AffectedAgents: ffffffff
+--- !u!65 &6380876052315757871
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 9203972973945998945}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 3.25, z: 1}
+ m_Center: {x: -2, y: 1.625, z: 0}
+--- !u!1652712579 &5741560754897452800
+MultiplayerRolesData:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 9203972973945998945}
+ m_GameObjectRolesMask: 3
+ m_ComponentsRolesMasks:
+ - m_Object: {fileID: 3529144327280648617}
+ m_RolesMask: 2
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/InteractiveDoor.prefab.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/InteractiveDoor.prefab.meta
new file mode 100644
index 000000000..8e92266d4
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/InteractiveDoor.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: bf3b0527c90e1b8439364c8d6be51d05
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/OuterWall.prefab b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/OuterWall.prefab
new file mode 100644
index 000000000..8536eb307
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/OuterWall.prefab
@@ -0,0 +1,157 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &7870962814421427904
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 7200377239727955559}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: OuterWall
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 0.1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0.75
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5967257918828366270, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: 'm_Materials.Array.data[0]'
+ value:
+ objectReference: {fileID: 2100000, guid: 0dd35bff8394c4f46a65c6ce39d6bf78, type: 2}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &8300021100256098365 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 7870962814421427904}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &9077074584924962970
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 386113002486976092, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_Name
+ value: OuterWall
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 50
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 4
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5967257918828366270, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ propertyPath: 'm_Materials.Array.data[0]'
+ value:
+ objectReference: {fileID: 2100000, guid: 12a5e352a862a8d45a334b1ec043d19d, type: 2}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects:
+ - targetCorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 8300021100256098365}
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+--- !u!4 &7200377239727955559 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2167603393791991549, guid: 48d0714990e32734fa0caf8b82094805, type: 3}
+ m_PrefabInstance: {fileID: 9077074584924962970}
+ m_PrefabAsset: {fileID: 0}
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/OuterWall.prefab.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/OuterWall.prefab.meta
new file mode 100644
index 000000000..6ad981552
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/OuterWall.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 7d4f1eb8d1bee4b4e81c96df15e29c77
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/Wall.prefab b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/Wall.prefab
new file mode 100644
index 000000000..cb2d11c1c
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/Wall.prefab
@@ -0,0 +1,110 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &386113002486976092
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2167603393791991549}
+ - component: {fileID: 4858532841411614949}
+ - component: {fileID: 5967257918828366270}
+ - component: {fileID: 8472594913954882898}
+ m_Layer: 0
+ m_Name: Wall
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2167603393791991549
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 386113002486976092}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 1.5, z: 0}
+ m_LocalScale: {x: 10, y: 3, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &4858532841411614949
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 386113002486976092}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &5967257918828366270
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 386113002486976092}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RayTracingAccelStructBuildFlagsOverride: 0
+ m_RayTracingAccelStructBuildFlags: 1
+ m_SmallMeshCulling: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 0dd35bff8394c4f46a65c6ce39d6bf78, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!65 &8472594913954882898
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 386113002486976092}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/Wall.prefab.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/Wall.prefab.meta
new file mode 100644
index 000000000..4670efc2e
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/Environment/Wall.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 48d0714990e32734fa0caf8b82094805
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/GameApplication.prefab b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/GameApplication.prefab
new file mode 100644
index 000000000..71a705672
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/GameApplication.prefab
@@ -0,0 +1,548 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &815171797773770901
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 690007956843493483}
+ - component: {fileID: 2891951420358791924}
+ m_Layer: 0
+ m_Name: GameApplication
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &690007956843493483
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 815171797773770901}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 2925154222283962181}
+ - {fileID: 6167794474151329322}
+ - {fileID: 5873813210152660583}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &2891951420358791924
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 815171797773770901}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4cb1e22d830e50240ac8d402a642fce2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &4725549617812107662
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5873813210152660583}
+ - component: {fileID: 2611669215631704512}
+ m_Layer: 0
+ m_Name: Views
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5873813210152660583
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4725549617812107662}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 6721148823629732128}
+ - {fileID: 78772956734522983}
+ - {fileID: 3270731372627773124}
+ - {fileID: 8495312077754069265}
+ m_Father: {fileID: 690007956843493483}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &2611669215631704512
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4725549617812107662}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d4ac130a1d9f82d42832e3364e8f1c60, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_MatchView: {fileID: 2984461789708840317}
+ m_GameMenuView: {fileID: 3885717122117595817}
+ m_MatchRecapView: {fileID: 1235063626222470819}
+--- !u!1 &5214451676404606949
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6721148823629732128}
+ - component: {fileID: 1235085018259262665}
+ - component: {fileID: 3125633170754978715}
+ - component: {fileID: 8615555565293303388}
+ m_Layer: 0
+ m_Name: Camera
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6721148823629732128
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5214451676404606949}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5873813210152660583}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!20 &1235085018259262665
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5214451676404606949}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 2
+ m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
+ m_projectionMatrixMode: 1
+ m_GateFitMode: 2
+ m_FOVAxisMode: 0
+ m_Iso: 200
+ m_ShutterSpeed: 0.005
+ m_Aperture: 16
+ m_FocusDistance: 10
+ m_FocalLength: 50
+ m_BladeCount: 5
+ m_Curvature: {x: 2, y: 11}
+ m_BarrelClipping: 0.25
+ m_Anamorphism: 0
+ m_SensorSize: {x: 36, y: 24}
+ m_LensShift: {x: 0, y: 0}
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 60
+ orthographic: 0
+ orthographic size: 5
+ m_Depth: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 32
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 1
+ m_AllowMSAA: 1
+ m_AllowDynamicResolution: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 0
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!81 &3125633170754978715
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5214451676404606949}
+ m_Enabled: 1
+--- !u!114 &8615555565293303388
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5214451676404606949}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_RenderShadows: 0
+ m_RequiresDepthTextureOption: 2
+ m_RequiresOpaqueTextureOption: 2
+ m_CameraType: 0
+ m_Cameras: []
+ m_RendererIndex: -1
+ m_VolumeLayerMask:
+ serializedVersion: 2
+ m_Bits: 1
+ m_VolumeTrigger: {fileID: 0}
+ m_VolumeFrameworkUpdateModeOption: 2
+ m_RenderPostProcessing: 0
+ m_Antialiasing: 0
+ m_AntialiasingQuality: 2
+ m_StopNaN: 0
+ m_Dithering: 0
+ m_ClearDepth: 1
+ m_AllowXRRendering: 1
+ m_AllowHDROutput: 1
+ m_UseScreenCoordOverride: 0
+ m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
+ m_RequiresDepthTexture: 0
+ m_RequiresColorTexture: 0
+ m_Version: 2
+ m_TaaSettings:
+ quality: 3
+ frameInfluence: 0.1
+ jitterScale: 1
+ mipBias: 0
+ varianceClampScale: 0.9
+ contrastAdaptiveSharpening: 0
+--- !u!1 &6358639672112253857
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8495312077754069265}
+ - component: {fileID: 3593997297337162782}
+ - component: {fileID: 1235063626222470819}
+ m_Layer: 5
+ m_Name: MatchRecapView
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!4 &8495312077754069265
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6358639672112253857}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5873813210152660583}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &3593997297337162782
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6358639672112253857}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_PanelSettings: {fileID: 11400000, guid: 5157a48ef3c7b454b98befa1637e3107, type: 2}
+ m_ParentUI: {fileID: 0}
+ sourceAsset: {fileID: 9197481963319205126, guid: b6805a5cab3d15443b2d1ed8c045e6eb, type: 3}
+ m_SortingOrder: 1
+--- !u!114 &1235063626222470819
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6358639672112253857}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: ffc5ce18e77c2b34ea655c7f5cc75da3, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &7866452525617413525
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6167794474151329322}
+ - component: {fileID: 3459658064484492279}
+ - component: {fileID: 6115176061297905450}
+ - component: {fileID: 2000797003850809918}
+ - component: {fileID: 4447407657239715463}
+ m_Layer: 0
+ m_Name: Controllers
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6167794474151329322
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7866452525617413525}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 690007956843493483}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &3459658064484492279
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7866452525617413525}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: eeb1f660831c3a143b1b0b77a612f726, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &6115176061297905450
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7866452525617413525}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 719e07b3624c81140be71b4ef4f59064, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &2000797003850809918
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7866452525617413525}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f1bc2a90b0160b442acf63cf3e9727cf, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &4447407657239715463
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7866452525617413525}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f96c4a9e6d4942c4bfe610a7ee318772, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &7938230458218682338
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3270731372627773124}
+ - component: {fileID: 3828751765032560145}
+ - component: {fileID: 3885717122117595817}
+ m_Layer: 0
+ m_Name: GameMenuView
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!4 &3270731372627773124
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7938230458218682338}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5873813210152660583}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &3828751765032560145
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7938230458218682338}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_PanelSettings: {fileID: 11400000, guid: 7dd263638442120469806deedae09964, type: 2}
+ m_ParentUI: {fileID: 0}
+ sourceAsset: {fileID: 9197481963319205126, guid: 1ff75d80c87cc2b489bd2814dcb04afd, type: 3}
+ m_SortingOrder: 0
+--- !u!114 &3885717122117595817
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7938230458218682338}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 96303d2e55be47b468191628fe6b95ba, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &7979579331580006965
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 78772956734522983}
+ - component: {fileID: 4603705401790786008}
+ - component: {fileID: 2984461789708840317}
+ m_Layer: 5
+ m_Name: MatchView
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &78772956734522983
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7979579331580006965}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5873813210152660583}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &4603705401790786008
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7979579331580006965}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_PanelSettings: {fileID: 11400000, guid: 5157a48ef3c7b454b98befa1637e3107, type: 2}
+ m_ParentUI: {fileID: 0}
+ sourceAsset: {fileID: 9197481963319205126, guid: 858502808a6fb6f43b789452691e5766, type: 3}
+ m_SortingOrder: 0
+--- !u!114 &2984461789708840317
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7979579331580006965}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: aedc21ba435348e48851c5b98d981f30, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &8555614893495770896
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2925154222283962181}
+ - component: {fileID: 8459182796794019194}
+ m_Layer: 0
+ m_Name: Models
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2925154222283962181
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8555614893495770896}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 690007956843493483}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &8459182796794019194
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8555614893495770896}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: ea353653657b423409b67c735679262d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_NetworkedGameState: {fileID: 0}
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/GameApplication.prefab.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/GameApplication.prefab.meta
new file mode 100644
index 000000000..ac65ac6fe
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/GameApplication.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 6f40db033f1194147aeea25a35ba576a
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/NetworkedGameState.prefab b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/NetworkedGameState.prefab
new file mode 100644
index 000000000..289840a5a
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/NetworkedGameState.prefab
@@ -0,0 +1,164 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &1851264086749098386
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3220167695712397644}
+ - component: {fileID: 7972869019894705392}
+ - component: {fileID: 6131515836354047163}
+ m_Layer: 0
+ m_Name: NetworkedGameState
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3220167695712397644
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1851264086749098386}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 6336112528498422674}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &7972869019894705392
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1851264086749098386}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ GlobalObjectIdHash: 52913003
+ AlwaysReplicateAsRoot: 0
+ SynchronizeTransform: 1
+ ActiveSceneSynchronization: 0
+ SceneMigrationSynchronization: 1
+ SpawnWithObservers: 1
+ DontDestroyWithOwner: 0
+ AutoObjectParentSync: 1
+--- !u!114 &6131515836354047163
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1851264086749098386}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: c49e45af4320b1741be4c52adf9aef91, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1001 &1948398865024159841
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 3220167695712397644}
+ m_Modifications:
+ - target: {fileID: 3162684168667458613, guid: 10f700a6f3ad51d469fd3f0666f0f25b, type: 3}
+ propertyPath: m_Name
+ value: AICharacterSpawner
+ objectReference: {fileID: 0}
+ - target: {fileID: 5540692768441426931, guid: 10f700a6f3ad51d469fd3f0666f0f25b, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5540692768441426931, guid: 10f700a6f3ad51d469fd3f0666f0f25b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5540692768441426931, guid: 10f700a6f3ad51d469fd3f0666f0f25b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5540692768441426931, guid: 10f700a6f3ad51d469fd3f0666f0f25b, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 5540692768441426931, guid: 10f700a6f3ad51d469fd3f0666f0f25b, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5540692768441426931, guid: 10f700a6f3ad51d469fd3f0666f0f25b, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5540692768441426931, guid: 10f700a6f3ad51d469fd3f0666f0f25b, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5540692768441426931, guid: 10f700a6f3ad51d469fd3f0666f0f25b, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5540692768441426931, guid: 10f700a6f3ad51d469fd3f0666f0f25b, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5540692768441426931, guid: 10f700a6f3ad51d469fd3f0666f0f25b, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7685641082116146980, guid: 10f700a6f3ad51d469fd3f0666f0f25b, type: 3}
+ propertyPath: m_NetworkedGameState
+ value:
+ objectReference: {fileID: 6131515836354047163}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents:
+ - targetCorrespondingSourceObject: {fileID: 3162684168667458613, guid: 10f700a6f3ad51d469fd3f0666f0f25b, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 4609601705292101169}
+ m_SourcePrefab: {fileID: 100100000, guid: 10f700a6f3ad51d469fd3f0666f0f25b, type: 3}
+--- !u!1 &3525762221863271508 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 3162684168667458613, guid: 10f700a6f3ad51d469fd3f0666f0f25b, type: 3}
+ m_PrefabInstance: {fileID: 1948398865024159841}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1652712579 &4609601705292101169
+MultiplayerRolesData:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3525762221863271508}
+ m_GameObjectRolesMask: 2
+ m_ComponentsRolesMasks:
+ - m_Object: {fileID: 8188383779474413381}
+ m_RolesMask: 2
+--- !u!4 &6336112528498422674 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 5540692768441426931, guid: 10f700a6f3ad51d469fd3f0666f0f25b, type: 3}
+ m_PrefabInstance: {fileID: 1948398865024159841}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &8188383779474413381 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 7685641082116146980, guid: 10f700a6f3ad51d469fd3f0666f0f25b, type: 3}
+ m_PrefabInstance: {fileID: 1948398865024159841}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3525762221863271508}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 60bc545e3cb0a89478529e9a036abfbe, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Game/NetworkedGameState.prefab.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/NetworkedGameState.prefab.meta
new file mode 100644
index 000000000..627daf7c0
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Game/NetworkedGameState.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 0dff047fe330e3947b10253ba41de7eb
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Metagame.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Metagame.meta
new file mode 100644
index 000000000..29cc4d966
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Metagame.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9d310c9babd8d3a4d9965b5dc0abb1b5
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Metagame/MetagameApplication.prefab b/Experimental/DedicatedGameServer/Assets/Prefabs/Metagame/MetagameApplication.prefab
new file mode 100644
index 000000000..c1a965163
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Metagame/MetagameApplication.prefab
@@ -0,0 +1,637 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &815171797773770901
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 690007956843493483}
+ - component: {fileID: 4613537952915011020}
+ m_Layer: 0
+ m_Name: MetagameApplication
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &690007956843493483
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 815171797773770901}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 2925154222283962181}
+ - {fileID: 6167794474151329322}
+ - {fileID: 5873813210152660583}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &4613537952915011020
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 815171797773770901}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d1ce44d2abf9817409a32baacb52e8b8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &4175558726825995447
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6114517833082937255}
+ - component: {fileID: 1794868347322481598}
+ - component: {fileID: 1830096468472935846}
+ - component: {fileID: 7568816773190054421}
+ m_Layer: 0
+ m_Name: Camera
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6114517833082937255
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4175558726825995447}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5873813210152660583}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!20 &1794868347322481598
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4175558726825995447}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 2
+ m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
+ m_projectionMatrixMode: 1
+ m_GateFitMode: 2
+ m_FOVAxisMode: 0
+ m_Iso: 200
+ m_ShutterSpeed: 0.005
+ m_Aperture: 16
+ m_FocusDistance: 10
+ m_FocalLength: 50
+ m_BladeCount: 5
+ m_Curvature: {x: 2, y: 11}
+ m_BarrelClipping: 0.25
+ m_Anamorphism: 0
+ m_SensorSize: {x: 36, y: 24}
+ m_LensShift: {x: 0, y: 0}
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 60
+ orthographic: 0
+ orthographic size: 5
+ m_Depth: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 32
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 1
+ m_AllowMSAA: 1
+ m_AllowDynamicResolution: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 0
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!81 &1830096468472935846
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4175558726825995447}
+ m_Enabled: 1
+--- !u!114 &7568816773190054421
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4175558726825995447}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_RenderShadows: 0
+ m_RequiresDepthTextureOption: 2
+ m_RequiresOpaqueTextureOption: 2
+ m_CameraType: 0
+ m_Cameras: []
+ m_RendererIndex: -1
+ m_VolumeLayerMask:
+ serializedVersion: 2
+ m_Bits: 1
+ m_VolumeTrigger: {fileID: 0}
+ m_VolumeFrameworkUpdateModeOption: 2
+ m_RenderPostProcessing: 0
+ m_Antialiasing: 0
+ m_AntialiasingQuality: 2
+ m_StopNaN: 0
+ m_Dithering: 0
+ m_ClearDepth: 1
+ m_AllowXRRendering: 1
+ m_AllowHDROutput: 1
+ m_UseScreenCoordOverride: 0
+ m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
+ m_RequiresDepthTexture: 0
+ m_RequiresColorTexture: 0
+ m_Version: 2
+ m_TaaSettings:
+ quality: 3
+ frameInfluence: 0.1
+ jitterScale: 1
+ mipBias: 0
+ varianceClampScale: 0.9
+ contrastAdaptiveSharpening: 0
+--- !u!1 &4653335918413459185
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2735529898046788519}
+ - component: {fileID: 4216581305797874140}
+ - component: {fileID: 7181582686434638750}
+ m_Layer: 5
+ m_Name: MainMenuView
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2735529898046788519
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4653335918413459185}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5873813210152660583}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &4216581305797874140
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4653335918413459185}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_PanelSettings: {fileID: 11400000, guid: 17248bf6192ffad43b8ab0d7fa77c2f9, type: 2}
+ m_ParentUI: {fileID: 0}
+ sourceAsset: {fileID: 9197481963319205126, guid: 4c4a65d85867be3439cd93bf1ef389eb, type: 3}
+ m_SortingOrder: 0
+--- !u!114 &7181582686434638750
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4653335918413459185}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: bb7a90aa8e63a234bbc2146f79845532, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &4725549617812107662
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5873813210152660583}
+ - component: {fileID: 7608159501841437823}
+ m_Layer: 0
+ m_Name: Views
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5873813210152660583
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4725549617812107662}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 6114517833082937255}
+ - {fileID: 2735529898046788519}
+ - {fileID: 1158808687355537868}
+ - {fileID: 620830159629850781}
+ - {fileID: 2664159220117613349}
+ m_Father: {fileID: 690007956843493483}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &7608159501841437823
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4725549617812107662}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: bd4192ef5bde4354e80648a63770995c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_MainMenuView: {fileID: 7181582686434638750}
+ m_MatchmakerView: {fileID: 2675755657751875318}
+ m_DirectIPView: {fileID: 5870602673018488666}
+ m_ClientConnectingView: {fileID: 6464841519099050560}
+--- !u!1 &6042265479794443901
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2664159220117613349}
+ - component: {fileID: 317646863976390653}
+ - component: {fileID: 6464841519099050560}
+ m_Layer: 0
+ m_Name: ClientConnectingView
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!4 &2664159220117613349
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6042265479794443901}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5873813210152660583}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &317646863976390653
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6042265479794443901}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_PanelSettings: {fileID: 11400000, guid: 7b0ba6d37e70cf047a804ea68e470ea1, type: 2}
+ m_ParentUI: {fileID: 0}
+ sourceAsset: {fileID: 9197481963319205126, guid: 221abe9c332311f469fe5c8827d16afb, type: 3}
+ m_SortingOrder: 0
+--- !u!114 &6464841519099050560
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6042265479794443901}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d66e014b106e43de84422510776e47b7, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &6762252528077546412
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1158808687355537868}
+ - component: {fileID: 1438686788031507987}
+ - component: {fileID: 2675755657751875318}
+ m_Layer: 5
+ m_Name: MatchmakerView
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!4 &1158808687355537868
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6762252528077546412}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5873813210152660583}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1438686788031507987
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6762252528077546412}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_PanelSettings: {fileID: 11400000, guid: 9e54a9bfb467ecf4dae041e186d6f27b, type: 2}
+ m_ParentUI: {fileID: 0}
+ sourceAsset: {fileID: 9197481963319205126, guid: a8c22ed4ad9727f45bb363e9d6b3b622, type: 3}
+ m_SortingOrder: 0
+--- !u!114 &2675755657751875318
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6762252528077546412}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9c6c5a57b87233a4b93095dd4816d07f, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &6796413030091351469
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 620830159629850781}
+ - component: {fileID: 8771152792973485417}
+ - component: {fileID: 5870602673018488666}
+ m_Layer: 0
+ m_Name: DirectIPView
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!4 &620830159629850781
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6796413030091351469}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5873813210152660583}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &8771152792973485417
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6796413030091351469}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_PanelSettings: {fileID: 11400000, guid: 19ad1b609207132419af970749dd11b2, type: 2}
+ m_ParentUI: {fileID: 0}
+ sourceAsset: {fileID: 9197481963319205126, guid: 572d32af858d201419e9772514fdb9e5, type: 3}
+ m_SortingOrder: 0
+--- !u!114 &5870602673018488666
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6796413030091351469}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e6f362afa5c4e848b4d0a41c0db4bc6, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &7866452525617413525
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6167794474151329322}
+ - component: {fileID: 448521969639622440}
+ - component: {fileID: 1360093983642508866}
+ - component: {fileID: 8291992753301324471}
+ - component: {fileID: 2013091654299207491}
+ - component: {fileID: 4052344154896437112}
+ m_Layer: 0
+ m_Name: Controllers
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6167794474151329322
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7866452525617413525}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 690007956843493483}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &448521969639622440
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7866452525617413525}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0d0b0ffdc3efbd34392740949cfcd89e, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &1360093983642508866
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7866452525617413525}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 44125658f58025d409b0c38166476541, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &8291992753301324471
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7866452525617413525}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8fc23f9f6337cad4a8236948ddddc96c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &2013091654299207491
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7866452525617413525}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 98e0a841379c449d8ac2492b60112ec7, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &4052344154896437112
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7866452525617413525}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3b80950ff804422b9176a6ed7e8f0b36, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &8555614893495770896
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2925154222283962181}
+ - component: {fileID: 2543586066506059114}
+ - component: {fileID: 2549565680649056148}
+ m_Layer: 0
+ m_Name: Models
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2925154222283962181
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8555614893495770896}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 690007956843493483}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &2543586066506059114
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8555614893495770896}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 60c52feeb337d164f87e4a6d3062c0c1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ClientConnectingModel: {fileID: 2549565680649056148}
+--- !u!114 &2549565680649056148
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8555614893495770896}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f97b6f0877a6436a9142a1be40a5693c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Metagame/MetagameApplication.prefab.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Metagame/MetagameApplication.prefab.meta
new file mode 100644
index 000000000..9dfa2b58c
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Metagame/MetagameApplication.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: a792aead6be06b44eaa0f1e2ff26af60
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Shared.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Shared.meta
new file mode 100644
index 000000000..93e99dcdf
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Shared.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 83fc447bdc40ca34da1af29930322628
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/ApplicationEntryPoint.prefab b/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/ApplicationEntryPoint.prefab
new file mode 100644
index 000000000..ac457955a
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/ApplicationEntryPoint.prefab
@@ -0,0 +1,50 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &1912240709481443944
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6408639247658828069}
+ - component: {fileID: 3291160840787548023}
+ m_Layer: 0
+ m_Name: ApplicationEntryPoint
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6408639247658828069
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1912240709481443944}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &3291160840787548023
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1912240709481443944}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: e5421dec4c564a2abeb66642b1cc697d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ConnectionManager: {fileID: 0}
+ MinPlayers: 2
+ MaxPlayers: 2
+ m_AutoconnectIfClient: 1
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/ApplicationEntryPoint.prefab.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/ApplicationEntryPoint.prefab.meta
new file mode 100644
index 000000000..381abab8f
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/ApplicationEntryPoint.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: e203ab9c64655974d939b630c304c7d2
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/ConnectionManager.prefab b/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/ConnectionManager.prefab
new file mode 100644
index 000000000..5271cd8e7
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/ConnectionManager.prefab
@@ -0,0 +1,47 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &2345384109280455650
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6941699585685466934}
+ - component: {fileID: 6187454095423991573}
+ m_Layer: 0
+ m_Name: ConnectionManager
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6941699585685466934
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2345384109280455650}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &6187454095423991573
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2345384109280455650}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3c860c436c6a4ecb9a149c08a00b52d7, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_NetworkManager: {fileID: 0}
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/ConnectionManager.prefab.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/ConnectionManager.prefab.meta
new file mode 100644
index 000000000..9c66c0703
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/ConnectionManager.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 1949f1e39b5d63f45aa31d694bf08858
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/NetworkManager.prefab b/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/NetworkManager.prefab
new file mode 100644
index 000000000..f3b6f1b95
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/NetworkManager.prefab
@@ -0,0 +1,101 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &5293771937752817145
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3490084144686808900}
+ - component: {fileID: 810635909236727068}
+ - component: {fileID: 6904216011547104763}
+ m_Layer: 0
+ m_Name: NetworkManager
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3490084144686808900
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5293771937752817145}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &810635909236727068
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5293771937752817145}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 593a2fe42fa9d37498c96f9a383b6521, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ NetworkConfig:
+ ProtocolVersion: 0
+ NetworkTransport: {fileID: 6904216011547104763}
+ PlayerPrefab: {fileID: 1092933507198879514, guid: 453db16f5dbae264a8d01c33e4839e6e, type: 3}
+ Prefabs:
+ NetworkPrefabsLists:
+ - {fileID: 11400000, guid: 2256be0ecc277ec47a4b1f3ba35d11fe, type: 2}
+ TickRate: 30
+ ClientConnectionBufferTimeout: 10
+ ConnectionApproval: 1
+ ConnectionData:
+ EnableTimeResync: 0
+ TimeResyncInterval: 30
+ EnsureNetworkVariableLengthSafety: 0
+ EnableSceneManagement: 1
+ ForceSamePrefabs: 1
+ RecycleNetworkIds: 1
+ NetworkIdRecycleDelay: 120
+ RpcHashSize: 0
+ LoadSceneTimeOut: 120
+ SpawnTimeout: 1
+ EnableNetworkLogs: 1
+ OldPrefabList: []
+ RunInBackground: 1
+ LogLevel: 1
+--- !u!114 &6904216011547104763
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5293771937752817145}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 6960e84d07fb87f47956e7a81d71c4e6, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ProtocolType: 0
+ m_UseWebSockets: 0
+ m_UseEncryption: 0
+ m_MaxPacketQueueSize: 128
+ m_MaxPayloadSize: 6144
+ m_HeartbeatTimeoutMS: 500
+ m_ConnectTimeoutMS: 1000
+ m_MaxConnectAttempts: 60
+ m_DisconnectTimeoutMS: 30000
+ ConnectionData:
+ Address: 127.0.0.1
+ Port: 7777
+ ServerListenAddress: 127.0.0.1
+ DebugSimulator:
+ PacketDelayMS: 0
+ PacketJitterMS: 0
+ PacketDropRate: 0
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/NetworkManager.prefab.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/NetworkManager.prefab.meta
new file mode 100644
index 000000000..a6f7f4694
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/NetworkManager.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9ae46c35e3bf77445874ea3b2ad77686
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/UnityServicesManager.prefab b/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/UnityServicesManager.prefab
new file mode 100644
index 000000000..adf365bc1
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/UnityServicesManager.prefab
@@ -0,0 +1,46 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &2441079602615399662
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3312701328826144547}
+ - component: {fileID: 2308640765785237880}
+ m_Layer: 0
+ m_Name: UnityServicesManager
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3312701328826144547
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2441079602615399662}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &2308640765785237880
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2441079602615399662}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2382ab27edf0676468b4eaafea53034c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
diff --git a/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/UnityServicesManager.prefab.meta b/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/UnityServicesManager.prefab.meta
new file mode 100644
index 000000000..a4f5979ee
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Prefabs/Shared/UnityServicesManager.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d4ec2b8df37f71643b8b05da7a05dec2
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Resources.meta b/Experimental/DedicatedGameServer/Assets/Resources.meta
new file mode 100644
index 000000000..7bab34530
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Resources.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ff2e9c75a17fdf44698acc1f5ff4e47f
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Resources/DefaultConfigurations.meta b/Experimental/DedicatedGameServer/Assets/Resources/DefaultConfigurations.meta
new file mode 100644
index 000000000..ce4af9143
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Resources/DefaultConfigurations.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 986f09e7d7fe4f24ea7ea67aa38952d1
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Resources/DefaultConfigurations/startupConfiguration.json b/Experimental/DedicatedGameServer/Assets/Resources/DefaultConfigurations/startupConfiguration.json
new file mode 100644
index 000000000..d0e292d82
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Resources/DefaultConfigurations/startupConfiguration.json
@@ -0,0 +1,5 @@
+{
+ "MinPlayers" : "2",
+ "MaxPlayers" : "8",
+ "AutoConnect" : "false"
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Resources/DefaultConfigurations/startupConfiguration.json.meta b/Experimental/DedicatedGameServer/Assets/Resources/DefaultConfigurations/startupConfiguration.json.meta
new file mode 100644
index 000000000..f8c689802
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Resources/DefaultConfigurations/startupConfiguration.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: e6506f8cfa9826b4797c98cdb8b4c0eb
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/Anticipation Sample/Assets/Scenes.meta b/Experimental/DedicatedGameServer/Assets/Scenes.meta
similarity index 77%
rename from Experimental/Anticipation Sample/Assets/Scenes.meta
rename to Experimental/DedicatedGameServer/Assets/Scenes.meta
index fc8aea72c..ee467141b 100644
--- a/Experimental/Anticipation Sample/Assets/Scenes.meta
+++ b/Experimental/DedicatedGameServer/Assets/Scenes.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 8c5c77042a6df704ea5b04d5ec785196
+guid: 109e9bdd0fcc649c5bc59085c35bdc83
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Experimental/DedicatedGameServer/Assets/Scenes/GameScene01.meta b/Experimental/DedicatedGameServer/Assets/Scenes/GameScene01.meta
new file mode 100644
index 000000000..a98be675f
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scenes/GameScene01.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 35dcd4313ffe3364d937241cf7cdc0e0
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scenes/GameScene01.unity b/Experimental/DedicatedGameServer/Assets/Scenes/GameScene01.unity
new file mode 100644
index 000000000..fd960f057
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scenes/GameScene01.unity
@@ -0,0 +1,615 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 10
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.05
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.514, g: 0.514, b: 0.514, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 0
+ m_SubtractiveShadowColor: {r: 0.41960785, g: 0.47843137, b: 0.627451, a: 1}
+ m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 12
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 1
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 512
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 1
+ m_PVRDenoiserTypeDirect: 1
+ m_PVRDenoiserTypeIndirect: 1
+ m_PVRDenoiserTypeAO: 1
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0}
+ m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 3
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ buildHeightMesh: 0
+ maxJobWorkers: 0
+ preserveTilesOutsideBounds: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &414130286 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 8944336655422409498, guid: f6d148d888ffbf54b9afe9936dfaec1f, type: 3}
+ m_PrefabInstance: {fileID: 1726052667}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &414130291
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 414130286}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_RenderShadows: 1
+ m_RequiresDepthTextureOption: 2
+ m_RequiresOpaqueTextureOption: 2
+ m_CameraType: 0
+ m_Cameras: []
+ m_RendererIndex: -1
+ m_VolumeLayerMask:
+ serializedVersion: 2
+ m_Bits: 1
+ m_VolumeTrigger: {fileID: 0}
+ m_VolumeFrameworkUpdateModeOption: 2
+ m_RenderPostProcessing: 0
+ m_Antialiasing: 0
+ m_AntialiasingQuality: 2
+ m_StopNaN: 0
+ m_Dithering: 0
+ m_ClearDepth: 1
+ m_AllowXRRendering: 1
+ m_AllowHDROutput: 1
+ m_UseScreenCoordOverride: 0
+ m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
+ m_RequiresDepthTexture: 0
+ m_RequiresColorTexture: 0
+ m_Version: 2
+ m_TaaSettings:
+ quality: 3
+ frameInfluence: 0.1
+ jitterScale: 1
+ mipBias: 0
+ varianceClampScale: 0.9
+ contrastAdaptiveSharpening: 0
+--- !u!1001 &1070813499
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 690007956843493483, guid: 6f40db033f1194147aeea25a35ba576a, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 690007956843493483, guid: 6f40db033f1194147aeea25a35ba576a, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 690007956843493483, guid: 6f40db033f1194147aeea25a35ba576a, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 690007956843493483, guid: 6f40db033f1194147aeea25a35ba576a, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 690007956843493483, guid: 6f40db033f1194147aeea25a35ba576a, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 690007956843493483, guid: 6f40db033f1194147aeea25a35ba576a, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 690007956843493483, guid: 6f40db033f1194147aeea25a35ba576a, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 690007956843493483, guid: 6f40db033f1194147aeea25a35ba576a, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 690007956843493483, guid: 6f40db033f1194147aeea25a35ba576a, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 690007956843493483, guid: 6f40db033f1194147aeea25a35ba576a, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 815171797773770901, guid: 6f40db033f1194147aeea25a35ba576a, type: 3}
+ propertyPath: m_Name
+ value: GameApplication
+ objectReference: {fileID: 0}
+ - target: {fileID: 8459182796794019194, guid: 6f40db033f1194147aeea25a35ba576a, type: 3}
+ propertyPath: m_GameState
+ value:
+ objectReference: {fileID: 4796701914973987263}
+ - target: {fileID: 8459182796794019194, guid: 6f40db033f1194147aeea25a35ba576a, type: 3}
+ propertyPath: m_NetworkedGameState
+ value:
+ objectReference: {fileID: 4796701914973987263}
+ m_RemovedComponents: []
+ m_RemovedGameObjects:
+ - {fileID: 5214451676404606949, guid: 6f40db033f1194147aeea25a35ba576a, type: 3}
+ m_AddedGameObjects: []
+ m_AddedComponents:
+ - targetCorrespondingSourceObject: {fileID: 815171797773770901, guid: 6f40db033f1194147aeea25a35ba576a, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1070813501}
+ m_SourcePrefab: {fileID: 100100000, guid: 6f40db033f1194147aeea25a35ba576a, type: 3}
+--- !u!1 &1070813500 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 815171797773770901, guid: 6f40db033f1194147aeea25a35ba576a, type: 3}
+ m_PrefabInstance: {fileID: 1070813499}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1652712579 &1070813501
+MultiplayerRolesData:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1070813500}
+ m_GameObjectRolesMask: 1
+ m_ComponentsRolesMasks: []
+--- !u!114 &1070813502 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 2891951420358791924, guid: 6f40db033f1194147aeea25a35ba576a, type: 3}
+ m_PrefabInstance: {fileID: 1070813499}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1070813500}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4cb1e22d830e50240ac8d402a642fce2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1001 &1350247335
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 2070925441746177671, guid: a1a802ecaf6775746bb2a929fb554ad8, type: 3}
+ propertyPath: m_Name
+ value: PlayerFollowCamera
+ objectReference: {fileID: 0}
+ - target: {fileID: 2070925441746177912, guid: a1a802ecaf6775746bb2a929fb554ad8, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2070925441746177912, guid: a1a802ecaf6775746bb2a929fb554ad8, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.375
+ objectReference: {fileID: 0}
+ - target: {fileID: 2070925441746177912, guid: a1a802ecaf6775746bb2a929fb554ad8, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -4
+ objectReference: {fileID: 0}
+ - target: {fileID: 2070925441746177912, guid: a1a802ecaf6775746bb2a929fb554ad8, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2070925441746177912, guid: a1a802ecaf6775746bb2a929fb554ad8, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2070925441746177912, guid: a1a802ecaf6775746bb2a929fb554ad8, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2070925441746177912, guid: a1a802ecaf6775746bb2a929fb554ad8, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2070925441746177912, guid: a1a802ecaf6775746bb2a929fb554ad8, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2070925441746177912, guid: a1a802ecaf6775746bb2a929fb554ad8, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2070925441746177912, guid: a1a802ecaf6775746bb2a929fb554ad8, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: a1a802ecaf6775746bb2a929fb554ad8, type: 3}
+--- !u!1001 &1611378405
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 3724706654895478303, guid: 3a41671a155a2cb4aacaae406dfb14e6, type: 3}
+ propertyPath: m_NavMeshData
+ value:
+ objectReference: {fileID: 23800000, guid: 3027e5fce9e0cde419de2ce2f63e2050, type: 2}
+ - target: {fileID: 7473578518635895177, guid: 3a41671a155a2cb4aacaae406dfb14e6, type: 3}
+ propertyPath: GlobalObjectIdHash
+ value: 2674337932
+ objectReference: {fileID: 0}
+ - target: {fileID: 7745568114405092880, guid: 3a41671a155a2cb4aacaae406dfb14e6, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7745568114405092880, guid: 3a41671a155a2cb4aacaae406dfb14e6, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7745568114405092880, guid: 3a41671a155a2cb4aacaae406dfb14e6, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7745568114405092880, guid: 3a41671a155a2cb4aacaae406dfb14e6, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7745568114405092880, guid: 3a41671a155a2cb4aacaae406dfb14e6, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7745568114405092880, guid: 3a41671a155a2cb4aacaae406dfb14e6, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7745568114405092880, guid: 3a41671a155a2cb4aacaae406dfb14e6, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7745568114405092880, guid: 3a41671a155a2cb4aacaae406dfb14e6, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7745568114405092880, guid: 3a41671a155a2cb4aacaae406dfb14e6, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7745568114405092880, guid: 3a41671a155a2cb4aacaae406dfb14e6, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7851486233348326608, guid: 3a41671a155a2cb4aacaae406dfb14e6, type: 3}
+ propertyPath: m_Name
+ value: Environment
+ objectReference: {fileID: 0}
+ - target: {fileID: 8424377640963482238, guid: 3a41671a155a2cb4aacaae406dfb14e6, type: 3}
+ propertyPath: GlobalObjectIdHash
+ value: 3484423001
+ objectReference: {fileID: 0}
+ - target: {fileID: 8556053690530776507, guid: 3a41671a155a2cb4aacaae406dfb14e6, type: 3}
+ propertyPath: GlobalObjectIdHash
+ value: 1038608452
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 3a41671a155a2cb4aacaae406dfb14e6, type: 3}
+--- !u!114 &1611378406 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 1920401968545700819, guid: 3a41671a155a2cb4aacaae406dfb14e6, type: 3}
+ m_PrefabInstance: {fileID: 1611378405}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 585995a8e6d34efaab14e386bba6298d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &1611378407 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 3146652287139832671, guid: 3a41671a155a2cb4aacaae406dfb14e6, type: 3}
+ m_PrefabInstance: {fileID: 1611378405}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 585995a8e6d34efaab14e386bba6298d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &1611378408 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 6939931140886907233, guid: 3a41671a155a2cb4aacaae406dfb14e6, type: 3}
+ m_PrefabInstance: {fileID: 1611378405}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 585995a8e6d34efaab14e386bba6298d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &1611378409 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 3422253516398389111, guid: 3a41671a155a2cb4aacaae406dfb14e6, type: 3}
+ m_PrefabInstance: {fileID: 1611378405}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 585995a8e6d34efaab14e386bba6298d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1001 &1726052667
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 8944336655422409496, guid: f6d148d888ffbf54b9afe9936dfaec1f, type: 3}
+ propertyPath: far clip plane
+ value: 500
+ objectReference: {fileID: 0}
+ - target: {fileID: 8944336655422409496, guid: f6d148d888ffbf54b9afe9936dfaec1f, type: 3}
+ propertyPath: orthographic size
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 8944336655422409498, guid: f6d148d888ffbf54b9afe9936dfaec1f, type: 3}
+ propertyPath: m_Name
+ value: MainCamera
+ objectReference: {fileID: 0}
+ - target: {fileID: 8944336655422409503, guid: f6d148d888ffbf54b9afe9936dfaec1f, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 8944336655422409503, guid: f6d148d888ffbf54b9afe9936dfaec1f, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.375
+ objectReference: {fileID: 0}
+ - target: {fileID: 8944336655422409503, guid: f6d148d888ffbf54b9afe9936dfaec1f, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -4
+ objectReference: {fileID: 0}
+ - target: {fileID: 8944336655422409503, guid: f6d148d888ffbf54b9afe9936dfaec1f, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 8944336655422409503, guid: f6d148d888ffbf54b9afe9936dfaec1f, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8944336655422409503, guid: f6d148d888ffbf54b9afe9936dfaec1f, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8944336655422409503, guid: f6d148d888ffbf54b9afe9936dfaec1f, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8944336655422409503, guid: f6d148d888ffbf54b9afe9936dfaec1f, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8944336655422409503, guid: f6d148d888ffbf54b9afe9936dfaec1f, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8944336655422409503, guid: f6d148d888ffbf54b9afe9936dfaec1f, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents:
+ - targetCorrespondingSourceObject: {fileID: 8944336655422409498, guid: f6d148d888ffbf54b9afe9936dfaec1f, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 414130291}
+ m_SourcePrefab: {fileID: 100100000, guid: f6d148d888ffbf54b9afe9936dfaec1f, type: 3}
+--- !u!1001 &4796701914973987262
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 1851264086749098386, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+ propertyPath: m_Name
+ value: GameState
+ objectReference: {fileID: 0}
+ - target: {fileID: 3220167695712397644, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3220167695712397644, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3220167695712397644, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3220167695712397644, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 3220167695712397644, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3220167695712397644, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3220167695712397644, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3220167695712397644, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3220167695712397644, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3220167695712397644, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4609601705292101169, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+ propertyPath: m_GameObjectRolesMask
+ value: 2
+ objectReference: {fileID: 0}
+ - target: {fileID: 6131515836354047163, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+ propertyPath: m_GameApp
+ value:
+ objectReference: {fileID: 1070813502}
+ - target: {fileID: 7972869019894705392, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+ propertyPath: GlobalObjectIdHash
+ value: 219102247
+ objectReference: {fileID: 0}
+ - target: {fileID: 8188383779474413381, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+ propertyPath: m_Patrols.Array.size
+ value: 4
+ objectReference: {fileID: 0}
+ - target: {fileID: 8188383779474413381, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+ propertyPath: 'm_Patrols.Array.data[0]'
+ value:
+ objectReference: {fileID: 1611378409}
+ - target: {fileID: 8188383779474413381, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+ propertyPath: 'm_Patrols.Array.data[1]'
+ value:
+ objectReference: {fileID: 1611378408}
+ - target: {fileID: 8188383779474413381, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+ propertyPath: 'm_Patrols.Array.data[2]'
+ value:
+ objectReference: {fileID: 1611378407}
+ - target: {fileID: 8188383779474413381, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+ propertyPath: 'm_Patrols.Array.data[3]'
+ value:
+ objectReference: {fileID: 1611378406}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+--- !u!114 &4796701914973987263 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 6131515836354047163, guid: 0dff047fe330e3947b10253ba41de7eb, type: 3}
+ m_PrefabInstance: {fileID: 4796701914973987262}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: c49e45af4320b1741be4c52adf9aef91, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1660057539 &9223372036854775807
+SceneRoots:
+ m_ObjectHideFlags: 0
+ m_Roots:
+ - {fileID: 4796701914973987262}
+ - {fileID: 1070813499}
+ - {fileID: 1611378405}
+ - {fileID: 1726052667}
+ - {fileID: 1350247335}
diff --git a/Experimental/Anticipation Sample/Assets/Scenes/SampleScene.unity.meta b/Experimental/DedicatedGameServer/Assets/Scenes/GameScene01.unity.meta
similarity index 74%
rename from Experimental/Anticipation Sample/Assets/Scenes/SampleScene.unity.meta
rename to Experimental/DedicatedGameServer/Assets/Scenes/GameScene01.unity.meta
index 952bd1e9e..486602c0a 100644
--- a/Experimental/Anticipation Sample/Assets/Scenes/SampleScene.unity.meta
+++ b/Experimental/DedicatedGameServer/Assets/Scenes/GameScene01.unity.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 9fc0d4010bbf28b4594072e72b8655ab
+guid: 59b8ab2dc12914f49abb89d9bf130ec3
DefaultImporter:
externalObjects: {}
userData:
diff --git a/Experimental/DedicatedGameServer/Assets/Scenes/GameScene01/NavMesh-NavMesh Surface.asset b/Experimental/DedicatedGameServer/Assets/Scenes/GameScene01/NavMesh-NavMesh Surface.asset
new file mode 100644
index 000000000..af2301cd2
Binary files /dev/null and b/Experimental/DedicatedGameServer/Assets/Scenes/GameScene01/NavMesh-NavMesh Surface.asset differ
diff --git a/Experimental/DedicatedGameServer/Assets/Scenes/GameScene01/NavMesh-NavMesh Surface.asset.meta b/Experimental/DedicatedGameServer/Assets/Scenes/GameScene01/NavMesh-NavMesh Surface.asset.meta
new file mode 100644
index 000000000..1969475b8
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scenes/GameScene01/NavMesh-NavMesh Surface.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3027e5fce9e0cde419de2ce2f63e2050
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 23800000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scenes/MetagameScene.unity b/Experimental/DedicatedGameServer/Assets/Scenes/MetagameScene.unity
new file mode 100644
index 000000000..f0db72865
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scenes/MetagameScene.unity
@@ -0,0 +1,204 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 10
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 3
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 12
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 0
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 1
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 512
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 1
+ m_PVRDenoiserTypeDirect: 1
+ m_PVRDenoiserTypeIndirect: 1
+ m_PVRDenoiserTypeAO: 1
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 0}
+ m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 3
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ buildHeightMesh: 0
+ maxJobWorkers: 0
+ preserveTilesOutsideBounds: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1001 &7232485461187084638
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 690007956843493483, guid: a792aead6be06b44eaa0f1e2ff26af60, type: 3}
+ propertyPath: m_RootOrder
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 690007956843493483, guid: a792aead6be06b44eaa0f1e2ff26af60, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 690007956843493483, guid: a792aead6be06b44eaa0f1e2ff26af60, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 690007956843493483, guid: a792aead6be06b44eaa0f1e2ff26af60, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 690007956843493483, guid: a792aead6be06b44eaa0f1e2ff26af60, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 690007956843493483, guid: a792aead6be06b44eaa0f1e2ff26af60, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 690007956843493483, guid: a792aead6be06b44eaa0f1e2ff26af60, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 690007956843493483, guid: a792aead6be06b44eaa0f1e2ff26af60, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 690007956843493483, guid: a792aead6be06b44eaa0f1e2ff26af60, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 690007956843493483, guid: a792aead6be06b44eaa0f1e2ff26af60, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 690007956843493483, guid: a792aead6be06b44eaa0f1e2ff26af60, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 815171797773770901, guid: a792aead6be06b44eaa0f1e2ff26af60, type: 3}
+ propertyPath: m_Name
+ value: MetagameApplication
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents:
+ - targetCorrespondingSourceObject: {fileID: 815171797773770901, guid: a792aead6be06b44eaa0f1e2ff26af60, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 7232485461187084640}
+ m_SourcePrefab: {fileID: 100100000, guid: a792aead6be06b44eaa0f1e2ff26af60, type: 3}
+--- !u!1 &7232485461187084639 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 815171797773770901, guid: a792aead6be06b44eaa0f1e2ff26af60, type: 3}
+ m_PrefabInstance: {fileID: 7232485461187084638}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1652712579 &7232485461187084640
+MultiplayerRolesData:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7232485461187084639}
+ m_GameObjectRolesMask: 1
+ m_ComponentsRolesMasks: []
+--- !u!1660057539 &9223372036854775807
+SceneRoots:
+ m_ObjectHideFlags: 0
+ m_Roots:
+ - {fileID: 7232485461187084638}
diff --git a/Experimental/DedicatedGameServer/Assets/Scenes/MetagameScene.unity.meta b/Experimental/DedicatedGameServer/Assets/Scenes/MetagameScene.unity.meta
new file mode 100644
index 000000000..963ff8e93
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scenes/MetagameScene.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 8c9cfa26abfee488c85f1582747f6a02
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scenes/StartupScene.unity b/Experimental/DedicatedGameServer/Assets/Scenes/StartupScene.unity
new file mode 100644
index 000000000..e3f19aeb7
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scenes/StartupScene.unity
@@ -0,0 +1,392 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 10
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 0
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 12
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 1
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 512
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 1
+ m_PVRDenoiserTypeDirect: 1
+ m_PVRDenoiserTypeIndirect: 1
+ m_PVRDenoiserTypeAO: 1
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0}
+ m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 3
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ buildHeightMesh: 0
+ maxJobWorkers: 0
+ preserveTilesOutsideBounds: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!114 &150196686 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 6187454095423991573, guid: 1949f1e39b5d63f45aa31d694bf08858, type: 3}
+ m_PrefabInstance: {fileID: 3855730209408154702}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3c860c436c6a4ecb9a149c08a00b52d7, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1001 &1729517252
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 2441079602615399662, guid: d4ec2b8df37f71643b8b05da7a05dec2, type: 3}
+ propertyPath: m_Name
+ value: UnityServicesManager
+ objectReference: {fileID: 0}
+ - target: {fileID: 3312701328826144547, guid: d4ec2b8df37f71643b8b05da7a05dec2, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3312701328826144547, guid: d4ec2b8df37f71643b8b05da7a05dec2, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3312701328826144547, guid: d4ec2b8df37f71643b8b05da7a05dec2, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3312701328826144547, guid: d4ec2b8df37f71643b8b05da7a05dec2, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 3312701328826144547, guid: d4ec2b8df37f71643b8b05da7a05dec2, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3312701328826144547, guid: d4ec2b8df37f71643b8b05da7a05dec2, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3312701328826144547, guid: d4ec2b8df37f71643b8b05da7a05dec2, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3312701328826144547, guid: d4ec2b8df37f71643b8b05da7a05dec2, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3312701328826144547, guid: d4ec2b8df37f71643b8b05da7a05dec2, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3312701328826144547, guid: d4ec2b8df37f71643b8b05da7a05dec2, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: d4ec2b8df37f71643b8b05da7a05dec2, type: 3}
+--- !u!1001 &3855730209408154702
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 2345384109280455650, guid: 1949f1e39b5d63f45aa31d694bf08858, type: 3}
+ propertyPath: m_Name
+ value: ConnectionManager
+ objectReference: {fileID: 0}
+ - target: {fileID: 6187454095423991573, guid: 1949f1e39b5d63f45aa31d694bf08858, type: 3}
+ propertyPath: m_NetworkManager
+ value:
+ objectReference: {fileID: 8638862055266633802}
+ - target: {fileID: 6941699585685466934, guid: 1949f1e39b5d63f45aa31d694bf08858, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6941699585685466934, guid: 1949f1e39b5d63f45aa31d694bf08858, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6941699585685466934, guid: 1949f1e39b5d63f45aa31d694bf08858, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6941699585685466934, guid: 1949f1e39b5d63f45aa31d694bf08858, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6941699585685466934, guid: 1949f1e39b5d63f45aa31d694bf08858, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6941699585685466934, guid: 1949f1e39b5d63f45aa31d694bf08858, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6941699585685466934, guid: 1949f1e39b5d63f45aa31d694bf08858, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6941699585685466934, guid: 1949f1e39b5d63f45aa31d694bf08858, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6941699585685466934, guid: 1949f1e39b5d63f45aa31d694bf08858, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6941699585685466934, guid: 1949f1e39b5d63f45aa31d694bf08858, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 1949f1e39b5d63f45aa31d694bf08858, type: 3}
+--- !u!1001 &8638862055266633801
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 3490084144686808900, guid: 9ae46c35e3bf77445874ea3b2ad77686, type: 3}
+ propertyPath: m_RootOrder
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 3490084144686808900, guid: 9ae46c35e3bf77445874ea3b2ad77686, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3490084144686808900, guid: 9ae46c35e3bf77445874ea3b2ad77686, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3490084144686808900, guid: 9ae46c35e3bf77445874ea3b2ad77686, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3490084144686808900, guid: 9ae46c35e3bf77445874ea3b2ad77686, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 3490084144686808900, guid: 9ae46c35e3bf77445874ea3b2ad77686, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3490084144686808900, guid: 9ae46c35e3bf77445874ea3b2ad77686, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3490084144686808900, guid: 9ae46c35e3bf77445874ea3b2ad77686, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3490084144686808900, guid: 9ae46c35e3bf77445874ea3b2ad77686, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3490084144686808900, guid: 9ae46c35e3bf77445874ea3b2ad77686, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3490084144686808900, guid: 9ae46c35e3bf77445874ea3b2ad77686, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5293771937752817145, guid: 9ae46c35e3bf77445874ea3b2ad77686, type: 3}
+ propertyPath: m_Name
+ value: NetworkManager
+ objectReference: {fileID: 0}
+ m_RemovedComponents:
+ - {fileID: 3391520598232479402, guid: 9ae46c35e3bf77445874ea3b2ad77686, type: 3}
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 9ae46c35e3bf77445874ea3b2ad77686, type: 3}
+--- !u!114 &8638862055266633802 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 810635909236727068, guid: 9ae46c35e3bf77445874ea3b2ad77686, type: 3}
+ m_PrefabInstance: {fileID: 8638862055266633801}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 593a2fe42fa9d37498c96f9a383b6521, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1001 &8661161116142568328
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 1912240709481443944, guid: e203ab9c64655974d939b630c304c7d2, type: 3}
+ propertyPath: m_Name
+ value: ApplicationEntryPoint
+ objectReference: {fileID: 0}
+ - target: {fileID: 3291160840787548023, guid: e203ab9c64655974d939b630c304c7d2, type: 3}
+ propertyPath: m_ConnectionManager
+ value:
+ objectReference: {fileID: 150196686}
+ - target: {fileID: 6408639247658828069, guid: e203ab9c64655974d939b630c304c7d2, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6408639247658828069, guid: e203ab9c64655974d939b630c304c7d2, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6408639247658828069, guid: e203ab9c64655974d939b630c304c7d2, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6408639247658828069, guid: e203ab9c64655974d939b630c304c7d2, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6408639247658828069, guid: e203ab9c64655974d939b630c304c7d2, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6408639247658828069, guid: e203ab9c64655974d939b630c304c7d2, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6408639247658828069, guid: e203ab9c64655974d939b630c304c7d2, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6408639247658828069, guid: e203ab9c64655974d939b630c304c7d2, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6408639247658828069, guid: e203ab9c64655974d939b630c304c7d2, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6408639247658828069, guid: e203ab9c64655974d939b630c304c7d2, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: e203ab9c64655974d939b630c304c7d2, type: 3}
+--- !u!1660057539 &9223372036854775807
+SceneRoots:
+ m_ObjectHideFlags: 0
+ m_Roots:
+ - {fileID: 3855730209408154702}
+ - {fileID: 8661161116142568328}
+ - {fileID: 8638862055266633801}
+ - {fileID: 1729517252}
diff --git a/Experimental/DedicatedGameServer/Assets/Scenes/StartupScene.unity.meta b/Experimental/DedicatedGameServer/Assets/Scenes/StartupScene.unity.meta
new file mode 100644
index 000000000..d16b4e2a2
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scenes/StartupScene.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 6e5c529b4669aaf4e9530f6c3f5e45f4
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/Anticipation Sample/Assets/Scripts.meta b/Experimental/DedicatedGameServer/Assets/Scripts.meta
similarity index 77%
rename from Experimental/Anticipation Sample/Assets/Scripts.meta
rename to Experimental/DedicatedGameServer/Assets/Scripts.meta
index c8bedcb34..4eb0e1fe9 100644
--- a/Experimental/Anticipation Sample/Assets/Scripts.meta
+++ b/Experimental/DedicatedGameServer/Assets/Scripts.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 4d890e66ca5f4ba439c29db89f5125c0
+guid: a4f7c3b16635c674fb0f82977657a304
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Editor.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Editor.meta
new file mode 100644
index 000000000..4711ccf0c
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5f4f5d181303ab042b1ada664cfc03e7
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Editor/BuildHelpers.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Editor/BuildHelpers.cs
new file mode 100644
index 000000000..0b5b19a56
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Editor/BuildHelpers.cs
@@ -0,0 +1,222 @@
+using System.IO;
+using UnityEditor;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Editor
+{
+ ///
+ /// Utility menus to easily create client and server builds to accelerate testing iterations.
+ ///
+ public static class BuildHelpers
+ {
+ const string k_MenuRoot = "DedicatedGameServerSample/Builds/";
+ const string k_BuildClient = k_MenuRoot + "Build Client(s)";
+ const string k_BuildServer = k_MenuRoot + "Build Server(s)";
+ const string k_BuildClientAndServer = k_MenuRoot + "Build Client(s) and Server(s)";
+
+ const string k_ToggleAllName = k_MenuRoot + "Toggle All clients and servers";
+
+ const string k_ClientToggleName = k_MenuRoot + "Toggle All clients";
+ const string k_ClientMacOSToggleName = k_MenuRoot + "Toggle MacOS client";
+ const string k_ClientWindowsToggleName = k_MenuRoot + "Toggle Windows client";
+ const string k_ClientLinuxToggleName = k_MenuRoot + "Toggle Linux client";
+
+ const string k_ServerToggleName = k_MenuRoot + "Toggle All servers";
+ const string k_ServerMacOSToggleName = k_MenuRoot + "Toggle MacOS server";
+ const string k_ServerWindowsToggleName = k_MenuRoot + "Toggle Windows server";
+ const string k_ServerLinuxToggleName = k_MenuRoot + "Toggle Linux server";
+
+ const int k_MenuGroupingBuild = 0; // to add separator in menus
+ const int k_MenuGroupingToggles = 11;
+ const int k_MenuGroupingClientPlatforms = 22;
+ const int k_MenuGroupingServerPlatforms = 33;
+
+ static bool s_ExitApplicationOnFailure = false;
+
+ [MenuItem(k_ToggleAllName, false, k_MenuGroupingToggles)]
+ static void ToggleAllClientsAndServers()
+ {
+ var newValue = ToggleMenu(k_ToggleAllName);
+ ToggleMenu(k_ClientToggleName, newValue);
+ ToggleMenu(k_ClientMacOSToggleName, newValue);
+ ToggleMenu(k_ClientWindowsToggleName, newValue);
+ ToggleMenu(k_ClientLinuxToggleName, newValue);
+ ToggleMenu(k_ServerToggleName, newValue);
+ ToggleMenu(k_ServerMacOSToggleName, newValue);
+ ToggleMenu(k_ServerWindowsToggleName, newValue);
+ ToggleMenu(k_ServerLinuxToggleName, newValue);
+ }
+
+ [MenuItem(k_ClientToggleName, false, k_MenuGroupingToggles)]
+ static void ToggleAllClients()
+ {
+ var newValue = ToggleMenu(k_ClientToggleName);
+ ToggleMenu(k_ClientMacOSToggleName, newValue);
+ ToggleMenu(k_ClientWindowsToggleName, newValue);
+ ToggleMenu(k_ClientLinuxToggleName, newValue);
+ }
+
+ [MenuItem(k_ClientMacOSToggleName, false, k_MenuGroupingClientPlatforms)]
+ static void ToggleClientMacOS()
+ {
+ ToggleMenu(k_ClientMacOSToggleName);
+ }
+
+ [MenuItem(k_ClientWindowsToggleName, false, k_MenuGroupingClientPlatforms)]
+ static void ToggleClientWindows()
+ {
+ ToggleMenu(k_ClientWindowsToggleName);
+ }
+
+ [MenuItem(k_ClientLinuxToggleName, false, k_MenuGroupingClientPlatforms)]
+ static void ToggleClientLinux()
+ {
+ ToggleMenu(k_ClientLinuxToggleName);
+ }
+
+ [MenuItem(k_ServerToggleName, false, k_MenuGroupingToggles)]
+ static void ToggleAllServers()
+ {
+ var newValue = ToggleMenu(k_ServerToggleName);
+ ToggleMenu(k_ServerMacOSToggleName, newValue);
+ ToggleMenu(k_ServerWindowsToggleName, newValue);
+ ToggleMenu(k_ServerLinuxToggleName, newValue);
+ }
+
+ [MenuItem(k_ServerMacOSToggleName, false, k_MenuGroupingServerPlatforms)]
+ static void ToggleServerMacOS()
+ {
+ ToggleMenu(k_ServerMacOSToggleName);
+ }
+
+ [MenuItem(k_ServerWindowsToggleName, false, k_MenuGroupingServerPlatforms)]
+ static void ToggleServerWindows()
+ {
+ ToggleMenu(k_ServerWindowsToggleName);
+ }
+
+ [MenuItem(k_ServerLinuxToggleName, false, k_MenuGroupingServerPlatforms)]
+ static void ToggleServerLinux()
+ {
+ ToggleMenu(k_ServerLinuxToggleName);
+ }
+
+ [MenuItem(k_BuildClientAndServer, true)]
+ static bool CanBuildServerAndClient()
+ {
+ return CanBuildClient() && CanBuildServer();
+ }
+
+ [MenuItem(k_BuildClientAndServer, false, k_MenuGroupingBuild)]
+ static void BuildEnabledServersAndClients()
+ {
+ BuildAllEnabledServers();
+ BuildAllEnabledClients();
+ }
+
+ [MenuItem(k_BuildServer, true)]
+ static bool CanBuildServer()
+ {
+ return Menu.GetChecked(k_ServerMacOSToggleName) ||
+ Menu.GetChecked(k_ServerWindowsToggleName) ||
+ Menu.GetChecked(k_ServerLinuxToggleName);
+ }
+
+ [MenuItem(k_BuildServer, false, k_MenuGroupingBuild)]
+ static void BuildAllEnabledServers()
+ {
+ bool buildMacOS = Menu.GetChecked(k_ServerMacOSToggleName);
+ bool buildWindows = Menu.GetChecked(k_ServerWindowsToggleName);
+ bool buildLinux = Menu.GetChecked(k_ServerLinuxToggleName);
+
+ var buildPathRoot = Path.Combine("Builds", "Server");
+
+ DeleteOutputFolder("Server/");
+
+ if (buildMacOS)
+ {
+ BuildProcessor.BuildServer(BuildTarget.StandaloneOSX, Path.Combine(buildPathRoot, "MacOSX", "Game.app"), s_ExitApplicationOnFailure);
+ }
+
+ if (buildWindows)
+ {
+ BuildProcessor.BuildServer(BuildTarget.StandaloneWindows, Path.Combine(buildPathRoot, "Windows10", "Game.exe"), s_ExitApplicationOnFailure);
+ }
+
+ if (buildLinux)
+ {
+ BuildProcessor.BuildServer(BuildTarget.StandaloneLinux64, Path.Combine(buildPathRoot, "Linux64", "Game.x86_64"), s_ExitApplicationOnFailure);
+ }
+ }
+
+ [MenuItem(k_BuildClient, true)]
+ static bool CanBuildClient()
+ {
+ return Menu.GetChecked(k_ClientMacOSToggleName) ||
+ Menu.GetChecked(k_ClientWindowsToggleName) ||
+ Menu.GetChecked(k_ClientLinuxToggleName);
+ }
+
+ [MenuItem(k_BuildClient, false, k_MenuGroupingBuild)]
+ static void BuildAllEnabledClients()
+ {
+ bool buildMacOS = Menu.GetChecked(k_ClientMacOSToggleName);
+ bool buildWindows = Menu.GetChecked(k_ClientWindowsToggleName);
+ bool buildLinux = Menu.GetChecked(k_ClientLinuxToggleName);
+
+ var buildPathRoot = Path.Combine("Builds", "Client");
+
+ DeleteOutputFolder("Client/");
+
+ if (buildMacOS)
+ {
+ BuildProcessor.BuildClient(BuildTarget.StandaloneOSX, Path.Combine(buildPathRoot, "MacOSX", "Game.app"), s_ExitApplicationOnFailure);
+ }
+
+ if (buildWindows)
+ {
+ BuildProcessor.BuildClient(BuildTarget.StandaloneWindows, Path.Combine(buildPathRoot, "Windows10", "Game.exe"), s_ExitApplicationOnFailure);
+ }
+
+ if (buildLinux)
+ {
+ BuildProcessor.BuildClient(BuildTarget.StandaloneLinux64, Path.Combine(buildPathRoot, "Linux64", "Game.x86_64"), s_ExitApplicationOnFailure);
+ }
+ }
+
+ ///
+ /// Toggles everything on and builds a client and a server for each platform. This is used in the continuous integration flow.
+ ///
+ public static void BuildEverything()
+ {
+ // setting menus unchecked so toggling afterwards will check everything
+ ToggleMenu(k_ClientToggleName, false);
+ ToggleMenu(k_ServerToggleName, false);
+
+ // toggling on every platform
+ ToggleAllClients();
+ ToggleAllServers();
+ s_ExitApplicationOnFailure = true;
+ BuildEnabledServersAndClients();
+ s_ExitApplicationOnFailure = false;
+ }
+
+ static bool ToggleMenu(string menuName, bool? valueToSet = null)
+ {
+ var toSet = valueToSet != null ? valueToSet.Value : !Menu.GetChecked(menuName);
+
+ Menu.SetChecked(menuName, toSet);
+ return toSet;
+ }
+
+ static void DeleteOutputFolder(string pathFromBuildsFolder)
+ {
+ string projectPath = Path.Combine(Application.dataPath, "..", "Builds", pathFromBuildsFolder);
+ var directoryInfo = new FileInfo(projectPath).Directory;
+ if (directoryInfo != null && directoryInfo.Exists)
+ {
+ directoryInfo.Delete(true);
+ }
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Editor/BuildHelpers.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Editor/BuildHelpers.cs.meta
new file mode 100644
index 000000000..f3599fc38
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Editor/BuildHelpers.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 04da5e331efc4b519e3fa818aabceccd
+timeCreated: 1698074873
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Editor/BuildProcessor.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Editor/BuildProcessor.cs
new file mode 100644
index 000000000..1080935b1
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Editor/BuildProcessor.cs
@@ -0,0 +1,179 @@
+using System.Collections.Generic;
+using System.Linq;
+using Unity.DedicatedGameServerSample.Runtime;
+using Unity.Multiplayer;
+using Unity.Multiplayer.Editor;
+using UnityEditor;
+using UnityEditor.Build;
+using UnityEditor.Build.Reporting;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Editor
+{
+ ///
+ ///Performs additional operations before/after the build is done
+ ///
+ public class BuildProcessor : IPreprocessBuildWithReport, IPostprocessBuildWithReport
+ {
+ static readonly string[] k_BuildOnlySymbols = new string[]
+ {
+ //"LIVE", //this is an example, add your own symbols instead
+ };
+
+ static readonly string[] k_EditorOnlySymbols = new string[]
+ {
+ //"DEV", //this is an example, add your own symbols instead
+ };
+
+ ///
+ /// CallbackOrder of the preprocessing and postprocessing calls.
+ ///
+ public int callbackOrder => 0;
+
+ ///
+ /// Called at the beginning of the build process
+ ///
+ /// The generated build report.
+ public void OnPreprocessBuild(BuildReport report)
+ {
+ AssetDatabase.SaveAssets();
+ ApplyChangesToMetagameApplication();
+
+ string definesString = PlayerSettings.GetScriptingDefineSymbols(NamedBuildTarget.FromBuildTargetGroup(EditorUserBuildSettings.selectedBuildTargetGroup));
+ List allDefines = definesString.Split(';').ToList();
+ if (k_BuildOnlySymbols.Length > 0)
+ {
+ allDefines.AddRange(k_BuildOnlySymbols.Except(allDefines));
+ }
+
+ if (k_EditorOnlySymbols.Length > 0)
+ {
+ allDefines.RemoveAll(def => k_EditorOnlySymbols.Contains(def));
+ }
+
+ Debug.Log($"Symbols used for build: {string.Join(";", allDefines.ToArray())}");
+ PlayerSettings.SetScriptingDefineSymbols(NamedBuildTarget.FromBuildTargetGroup(EditorUserBuildSettings.selectedBuildTargetGroup), string.Join(";", allDefines.ToArray()));
+ }
+
+ ///
+ /// Called at the end of the build process
+ ///
+ /// The generated build report.
+ public void OnPostprocessBuild(BuildReport report)
+ {
+ RevertChangesToMetagameApplication();
+ string definesString = PlayerSettings.GetScriptingDefineSymbols(NamedBuildTarget.FromBuildTargetGroup(EditorUserBuildSettings.selectedBuildTargetGroup));
+ List allDefines = definesString.Split(';').ToList();
+
+ if (k_BuildOnlySymbols.Length > 0)
+ {
+ allDefines.RemoveAll(def => k_BuildOnlySymbols.Contains(def));
+ }
+
+ if (k_EditorOnlySymbols.Length > 0)
+ {
+ allDefines.AddRange(k_EditorOnlySymbols.Except(allDefines));
+ }
+
+ Debug.Log($"Symbols restored after build: {string.Join(";", allDefines.ToArray())}");
+ PlayerSettings.SetScriptingDefineSymbols(NamedBuildTarget.FromBuildTargetGroup(EditorUserBuildSettings.selectedBuildTargetGroup), string.Join(";", allDefines.ToArray()));
+ AssetDatabase.SaveAssets();
+#if !CLOUD_BUILD_WINDOWS && !CLOUD_BUILD_LINUX && !CLOUD_BUILD_MAX
+ Debug.Log($"Manually Doing PostExport: {report.summary.outputPath}");
+ bool isServerBuild = report.summary.outputPath.Contains(".x86_64", System.StringComparison.OrdinalIgnoreCase); //.x86_64 is the extension of the Linux build
+ CloudBuildHelpers.PostExport(report.summary.outputPath, isServerBuild);
+#endif
+ }
+
+ void ApplyChangesToMetagameApplication()
+ {
+ MetagameApplication app = FindMetagameAppInProject();
+
+ //add your code to apply changes to the MetagameApplication here, I.E: to reference different testing environments
+ PrefabUtility.SavePrefabAsset(app.gameObject, out bool savedSuccessfully);
+ if (!savedSuccessfully)
+ {
+ throw new BuildPlayerWindow.BuildMethodException("Failed to alter MetagameApplication before building");
+ }
+
+ Debug.Log("Updated MetagameApp before build");
+ }
+
+ void RevertChangesToMetagameApplication()
+ {
+ MetagameApplication app = FindMetagameAppInProject();
+
+ //add your code to revert changes to the MetagameApplication here, I.E: to reference different testing environments
+ PrefabUtility.SavePrefabAsset(app.gameObject, out bool savedSuccessfully);
+ if (!savedSuccessfully)
+ {
+ throw new BuildPlayerWindow.BuildMethodException("Failed to restore MetagameApplication after building");
+ }
+
+ Debug.Log("Updated MetagameApp after build");
+ }
+
+ MetagameApplication FindMetagameAppInProject()
+ {
+ foreach (var guid in AssetDatabase.FindAssets("t:Prefab", new string[] {"Assets/Prefabs/Metagame"}))
+ {
+ string path = AssetDatabase.GUIDToAssetPath(guid);
+ var root = (GameObject) AssetDatabase.LoadMainAssetAtPath(path);
+ if (root.GetComponent())
+ {
+ return root.GetComponent();
+ }
+ }
+
+ return null;
+ }
+
+ internal static void BuildServer(BuildTarget target, string locationPathName, bool exitApplicationOnFailure = false)
+ {
+ Debug.Log($"Building {target} server");
+ EditorUserBuildSettings.SwitchActiveBuildTarget(NamedBuildTarget.Server, BuildTarget.StandaloneLinux64);
+ EditorMultiplayerRolesManager.SetMultiplayerRoleForBuildTarget(NamedBuildTarget.Server, MultiplayerRoleFlags.Server);
+ var report = BuildPipeline.BuildPlayer(new BuildPlayerOptions
+ {
+ scenes = GetScenePaths(),
+ locationPathName = locationPathName,
+ target = target,
+ subtarget = (int) StandaloneBuildSubtarget.Server,
+ });
+ if (exitApplicationOnFailure && report.summary.result != BuildResult.Succeeded)
+ {
+ EditorApplication.Exit(1);
+ }
+ }
+
+ internal static void BuildClient(BuildTarget target, string locationPathName, bool exitApplicationOnFailure = false)
+ {
+ Debug.Log($"Building {target} client");
+
+ EditorUserBuildSettings.SwitchActiveBuildTarget(NamedBuildTarget.Standalone, target);
+ EditorMultiplayerRolesManager.SetMultiplayerRoleForBuildTarget(NamedBuildTarget.Standalone, MultiplayerRoleFlags.Client);
+ var report = BuildPipeline.BuildPlayer(new BuildPlayerOptions
+ {
+ scenes = GetScenePaths(),
+ locationPathName = locationPathName,
+ target = target,
+ subtarget = (int) StandaloneBuildSubtarget.Player,
+ });
+ if (exitApplicationOnFailure && report.summary.result != BuildResult.Succeeded)
+ {
+ EditorApplication.Exit(1);
+ }
+ }
+
+ static string[] GetScenePaths()
+ {
+ var scenes = new string[EditorBuildSettings.scenes.Length];
+ for (int i = 0; i < scenes.Length; i++)
+ {
+ scenes[i] = EditorBuildSettings.scenes[i].path;
+ }
+
+ return scenes;
+ }
+ }
+}
diff --git a/Experimental/Anticipation Sample/Assets/Scripts/AnticipationSample.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Editor/BuildProcessor.cs.meta
similarity index 83%
rename from Experimental/Anticipation Sample/Assets/Scripts/AnticipationSample.cs.meta
rename to Experimental/DedicatedGameServer/Assets/Scripts/Editor/BuildProcessor.cs.meta
index c2b455e6c..7c5f52c3d 100644
--- a/Experimental/Anticipation Sample/Assets/Scripts/AnticipationSample.cs.meta
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Editor/BuildProcessor.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: bb71a36d2a747914e86b366bc2de89f3
+guid: 997b56330881c874ea3543a81f43ff8e
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Editor/CloudBuildHelpers.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Editor/CloudBuildHelpers.cs
new file mode 100644
index 000000000..df3071106
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Editor/CloudBuildHelpers.cs
@@ -0,0 +1,62 @@
+using System.IO;
+
+namespace Unity.DedicatedGameServerSample.Editor
+{
+ ///
+ ///A set of methods invoked by Unity Cloud Build during the build process
+ ///
+ public static class CloudBuildHelpers
+ {
+ const string k_AdditionalClientBuildFilesFolder = "AdditionalBuildFiles/Client/";
+ const string k_AdditionalServerBuildFilesFolder = "AdditionalBuildFiles/Server/";
+
+ ///
+ /// Method called from CloudBuild when the build finishes.
+ /// Needs to be referenced in the settings in CloudBuild's dashboard
+ ///
+ /// The path where the build is
+ /// Is this a server build?
+ public static void PostExport(string exportPath, bool isServerBuild)
+ {
+ FileAttributes attr = File.GetAttributes(exportPath);
+ string directory;
+ if (attr.HasFlag(FileAttributes.Directory))
+ {
+ directory = exportPath;
+ }
+ else
+ {
+ directory = Path.GetDirectoryName(exportPath);
+ }
+ CopyDirectory(isServerBuild ? k_AdditionalServerBuildFilesFolder : k_AdditionalClientBuildFilesFolder, directory, true);
+ }
+
+ static void CopyDirectory(string sourceDirName, string destDirName, bool copySubDirs)
+ {
+ // Get the subdirectories for the specified directory.
+ var dir = new DirectoryInfo(sourceDirName);
+ if (!dir.Exists)
+ {
+ throw new DirectoryNotFoundException($"Source directory does not exist or could not be found: {sourceDirName}");
+ }
+
+ // If the destination directory doesn't exist, create it.
+ Directory.CreateDirectory(destDirName);
+
+ // Get the files in the directory and copy them to the new location.
+ foreach (FileInfo file in dir.GetFiles())
+ {
+ file.CopyTo(Path.Combine(destDirName, file.Name), false);
+ }
+
+ // If copying subdirectories, copy them and their contents to new location.
+ if (copySubDirs)
+ {
+ foreach (DirectoryInfo subdir in dir.GetDirectories())
+ {
+ CopyDirectory(subdir.FullName, Path.Combine(destDirName, subdir.Name), copySubDirs);
+ }
+ }
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Editor/CloudBuildHelpers.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Editor/CloudBuildHelpers.cs.meta
new file mode 100644
index 000000000..46af4d667
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Editor/CloudBuildHelpers.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 75320cdf00c04e241a41ba05798fbada
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Editor/SceneBootstrapper.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Editor/SceneBootstrapper.cs
new file mode 100644
index 000000000..4ea5be89b
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Editor/SceneBootstrapper.cs
@@ -0,0 +1,165 @@
+using UnityEditor;
+using UnityEditor.SceneManagement;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Editor
+{
+ ///
+ /// Class that permits auto-loading a bootstrap scene when the editor switches play state. This class is
+ /// initialized when Unity is opened and when scripts are recompiled. This is to be able to subscribe to
+ /// EditorApplication's playModeStateChanged event, which is when we wish to open a new scene.
+ ///
+ ///
+ /// A critical edge case scenario regarding NetworkManager is accounted for here.
+ /// A NetworkObject's GlobalObjectIdHash value is currently generated in OnValidate() which is invoked during a
+ /// build and when the asset is loaded/viewed in the editor.
+ /// If we were to manually open Bootstrap scene via EditorSceneManager.OpenScene(...) as the editor is exiting play
+ /// mode, Bootstrap scene would be entering play mode within the editor prior to having loaded any assets, meaning
+ /// NetworkManager itself has no entry within the AssetDatabase cache. As a result of this, any referenced Network
+ /// Prefabs wouldn't have any entry either.
+ /// To account for this necessary AssetDatabase step, whenever we're redirecting from a new scene, or a scene
+ /// existing in our EditorBuildSettings, we forcefully stop the editor, open Bootstrap scene, and re-enter play
+ /// mode. This provides the editor the chance to create AssetDatabase cache entries for the Network Prefabs assigned
+ /// to the NetworkManager.
+ /// If we are entering play mode directly from Bootstrap scene, no additional steps need to be taken and the scene
+ /// is loaded normally.
+ ///
+ [InitializeOnLoad]
+ public class SceneBootstrapper
+ {
+ const string k_PreviousSceneKey = "PreviousScene";
+ const string k_ShouldLoadBootstrapSceneKey = "LoadBootstrapScene";
+
+ const string k_LoadBootstrapSceneOnPlay = "DedicatedGameServerSample/Load Bootstrap Scene On Play";
+ const string k_DoNotLoadBootstrapSceneOnPlay = "DedicatedGameServerSample/Don't Load Bootstrap Scene On Play";
+
+ const string k_TestRunnerSceneName = "InitTestScene";
+
+ static bool s_RestartingToSwitchScene;
+
+ static string BootstrapScene => EditorBuildSettings.scenes[0].path;
+
+ // to track where to go back to
+ static string PreviousScene
+ {
+ get => EditorPrefs.GetString(k_PreviousSceneKey);
+ set => EditorPrefs.SetString(k_PreviousSceneKey, value);
+ }
+
+ static bool ShouldLoadBootstrapScene
+ {
+ get
+ {
+ if (!EditorPrefs.HasKey(k_ShouldLoadBootstrapSceneKey))
+ {
+ EditorPrefs.SetBool(k_ShouldLoadBootstrapSceneKey, true);
+ }
+
+ return EditorPrefs.GetBool(k_ShouldLoadBootstrapSceneKey, true);
+ }
+ set => EditorPrefs.SetBool(k_ShouldLoadBootstrapSceneKey, value);
+ }
+
+ static SceneBootstrapper()
+ {
+ EditorApplication.playModeStateChanged += EditorApplicationOnplayModeStateChanged;
+ }
+
+ [MenuItem(k_LoadBootstrapSceneOnPlay, true)]
+ static bool ShowLoadBootstrapSceneOnPlay()
+ {
+ return !ShouldLoadBootstrapScene;
+ }
+
+ [MenuItem(k_LoadBootstrapSceneOnPlay)]
+ static void EnableLoadBootstrapSceneOnPlay()
+ {
+ ShouldLoadBootstrapScene = true;
+ }
+
+ [MenuItem(k_DoNotLoadBootstrapSceneOnPlay, true)]
+ static bool ShowDoNotLoadBootstrapSceneOnPlay()
+ {
+ return ShouldLoadBootstrapScene;
+ }
+
+ [MenuItem(k_DoNotLoadBootstrapSceneOnPlay)]
+ static void DisableDoNotLoadBootstrapSceneOnPlay()
+ {
+ ShouldLoadBootstrapScene = false;
+ }
+
+ static void EditorApplicationOnplayModeStateChanged(PlayModeStateChange playModeStateChange)
+ {
+ if (IsTestRunnerActive())
+ {
+ return;
+ }
+
+ if (!ShouldLoadBootstrapScene)
+ {
+ return;
+ }
+
+ if (s_RestartingToSwitchScene)
+ {
+ if (playModeStateChange == PlayModeStateChange.EnteredPlayMode)
+ {
+ // for some reason there's multiple start and stops events happening while restarting the editor playmode. We're making sure to
+ // set stoppingAndStarting only when we're done and we've entered playmode. This way we won't corrupt "activeScene" with the multiple
+ // start and stop and will be able to return to the scene we were editing at first
+ s_RestartingToSwitchScene = false;
+ }
+ return;
+ }
+
+ if (playModeStateChange == PlayModeStateChange.ExitingEditMode)
+ {
+ // cache previous scene so we return to this scene after play session, if possible
+ PreviousScene = EditorSceneManager.GetActiveScene().path;
+
+ if (EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo())
+ {
+ // user either hit "Save" or "Don't Save"; open bootstrap scene
+
+ if (!string.IsNullOrEmpty(BootstrapScene) &&
+ System.Array.Exists(EditorBuildSettings.scenes, scene => scene.path == BootstrapScene))
+ {
+ var activeScene = EditorSceneManager.GetActiveScene();
+
+ s_RestartingToSwitchScene = activeScene.path == string.Empty || !BootstrapScene.Contains(activeScene.path);
+
+ // we only manually inject Bootstrap scene if we are in a blank empty scene,
+ // or if the active scene is not already BootstrapScene
+ if (s_RestartingToSwitchScene)
+ {
+ EditorApplication.isPlaying = false;
+
+ // scene is included in build settings; open it
+ EditorSceneManager.OpenScene(BootstrapScene);
+
+ EditorApplication.isPlaying = true;
+ }
+ }
+ }
+ else
+ {
+ // user either hit "Cancel" or exited window; don't open bootstrap scene & return to editor
+ EditorApplication.isPlaying = false;
+ }
+ }
+ else if (playModeStateChange == PlayModeStateChange.EnteredEditMode)
+ {
+ if (!string.IsNullOrEmpty(PreviousScene))
+ {
+ EditorSceneManager.OpenScene(PreviousScene);
+ }
+ }
+ }
+
+ static bool IsTestRunnerActive()
+ {
+ return EditorSceneManager.GetActiveScene().name.StartsWith(k_TestRunnerSceneName);
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Editor/SceneBootstrapper.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Editor/SceneBootstrapper.cs.meta
new file mode 100644
index 000000000..9bbd9f531
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Editor/SceneBootstrapper.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: ef3d90c43e024db4b972ec11e49265e2
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Editor/com.unity.sample.dedicated-server.editor.asmdef b/Experimental/DedicatedGameServer/Assets/Scripts/Editor/com.unity.sample.dedicated-server.editor.asmdef
new file mode 100644
index 000000000..cd189a922
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Editor/com.unity.sample.dedicated-server.editor.asmdef
@@ -0,0 +1,24 @@
+{
+ "name": "com.unity.sample.dedicated-server.editor",
+ "rootNamespace": "Unity.DedicatedGameServerSample.Editor",
+ "references": [
+ "Unity.Netcode.Runtime",
+ "com.unity.sample.dedicated-server.shared",
+ "com.unity.sample.dedicated-server.runtime",
+ "Unity.Networking.Transport",
+ "Unity.EditorCoroutines.Editor",
+ "Unity.DedicatedServer.MultiplayerRoles",
+ "Unity.DedicatedServer.MultiplayerRoles.Editor"
+ ],
+ "includePlatforms": [
+ "Editor"
+ ],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": false,
+ "precompiledReferences": [],
+ "autoReferenced": true,
+ "defineConstraints": [],
+ "versionDefines": [],
+ "noEngineReferences": false
+}
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Editor/com.unity.sample.dedicated-server.editor.asmdef.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Editor/com.unity.sample.dedicated-server.editor.asmdef.meta
new file mode 100644
index 000000000..f4ec25628
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Editor/com.unity.sample.dedicated-server.editor.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3959f48ad6e365a4bab0859df52a673b
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime.meta
new file mode 100644
index 000000000..901c96a91
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: cb858399897bca740bec330f662628a5
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ApplicationLifecycle.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ApplicationLifecycle.meta
new file mode 100644
index 000000000..508bbd0f1
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ApplicationLifecycle.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 995050e15ad1f8e4489b0d5442ea82af
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ApplicationLifecycle/ApplicationEntryPoint.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ApplicationLifecycle/ApplicationEntryPoint.cs
new file mode 100644
index 000000000..3e27d2115
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ApplicationLifecycle/ApplicationEntryPoint.cs
@@ -0,0 +1,157 @@
+using System;
+using System.Collections;
+using Unity.DedicatedGameServerSample.Runtime.ConnectionManagement;
+using Unity.Multiplayer;
+using Unity.Netcode;
+using UnityEngine;
+using UnityEngine.SceneManagement;
+using ConnectionEvent = Unity.DedicatedGameServerSample.Runtime.ConnectionManagement.ConnectionEvent;
+
+namespace Unity.DedicatedGameServerSample.Runtime.ApplicationLifecycle
+{
+ ///
+ /// This is the application's entry point, where the configuration is read and the application is initialized
+ /// accordingly. This also keeps references to systems that must persist throughout the application's lifecycle.
+ ///
+ [MultiplayerRoleRestricted]
+ public class ApplicationEntryPoint : MonoBehaviour
+ {
+ const string k_DefaultServerListenAddress = "0.0.0.0";
+ const string k_DefaultClientAutoConnectServerAddress = "127.0.0.1";
+ public static ApplicationEntryPoint Singleton { get; private set; }
+
+#if UNITY_EDITOR
+ public static bool s_AreTestsRunning = false;
+ public bool AreTestsRunning => s_AreTestsRunning;
+#endif
+ bool AutoConnectOnStartup
+ {
+ get
+ {
+ bool startAutomatically = false;
+ switch (MultiplayerRolesManager.ActiveMultiplayerRoleMask)
+ {
+ case MultiplayerRoleFlags.Server:
+ startAutomatically = true;
+ break;
+ case MultiplayerRoleFlags.Client:
+ startAutomatically = m_AutoconnectIfClient;
+ break;
+ }
+#if UNITY_EDITOR
+ startAutomatically |= AreTestsRunning;
+#endif
+ return startAutomatically;
+ }
+ }
+
+ [SerializeField]
+ ConnectionManager m_ConnectionManager;
+ public ConnectionManager ConnectionManager => m_ConnectionManager;
+
+ [SerializeField]
+ internal int MinPlayers = 2;
+ [SerializeField]
+ internal int MaxPlayers = 2;
+ [SerializeField]
+ bool m_AutoconnectIfClient = false;
+
+ void Awake()
+ {
+ DontDestroyOnLoad(gameObject);
+ if (Singleton is null)
+ {
+ Singleton = this;
+ }
+ m_ConnectionManager.EventManager.AddListener(OnConnectionEvent);
+ }
+
+ void OnDestroy()
+ {
+ m_ConnectionManager.EventManager.RemoveListener(OnConnectionEvent);
+ }
+
+ [RuntimeInitializeOnLoadMethod]
+ static void OnApplicationStarted()
+ {
+ if (!Singleton) //this happens during PlayMode tests
+ {
+ return;
+ }
+ Singleton.InitializeNetworkLogic(); //note: this is the entry point for all autoconnected instances (including standalone servers)
+ }
+
+ ///
+ /// Initializes the application's network-related behaviour according to the configuration. Servers load the main
+ /// game scene and automatically start. Clients load the metagame scene and, if autonnect is set to true, attempt
+ /// to connect to a server automatically based on the IP and port passed through the configuration or the command
+ /// line arguments.
+ ///
+ void InitializeNetworkLogic()
+ {
+ var commandLineArgumentsParser = new CommandLineArgumentsParser();
+ ushort listeningPort = (ushort) commandLineArgumentsParser.Port;
+ switch (MultiplayerRolesManager.ActiveMultiplayerRoleMask)
+ {
+ case MultiplayerRoleFlags.Server:
+ //lock framerate on dedicated servers
+ Application.targetFrameRate = commandLineArgumentsParser.TargetFramerate;
+ QualitySettings.vSyncCount = 0;
+ m_ConnectionManager.StartServerIP(k_DefaultServerListenAddress, listeningPort);
+ break;
+ case MultiplayerRoleFlags.Client:
+ {
+ SceneManager.LoadScene("MetagameScene");
+ if (AutoConnectOnStartup)
+ {
+ m_ConnectionManager.StartClient(k_DefaultClientAutoConnectServerAddress, listeningPort);
+ }
+ break;
+ }
+ case MultiplayerRoleFlags.ClientAndServer:
+ throw new ArgumentOutOfRangeException("MultiplayerRole", "ClientAndServer is an invalid multiplayer role in this sample. Please select the Client or Server role.");
+ }
+ }
+
+ void OnConnectionEvent(ConnectionEvent evt)
+ {
+ if (MultiplayerRolesManager.ActiveMultiplayerRoleMask == MultiplayerRoleFlags.Server)
+ {
+ switch (evt.status)
+ {
+ case ConnectStatus.GenericDisconnect:
+ case ConnectStatus.ServerEndedSession:
+ case ConnectStatus.StartServerFailed:
+ // If server ends networked session or fails to start, quit the application
+ Quit();
+ break;
+ case ConnectStatus.Success:
+ // If server successfully starts, load game scene
+ NetworkManager.Singleton.SceneManager.LoadScene("GameScene01", LoadSceneMode.Single);
+ break;
+ }
+ }
+ else
+ {
+ switch (evt.status)
+ {
+ case ConnectStatus.GenericDisconnect:
+ case ConnectStatus.UserRequestedDisconnect:
+ case ConnectStatus.ServerEndedSession:
+ // If client is disconnected, return to metagame scene
+ SceneManager.LoadScene("MetagameScene");
+ break;
+ }
+ }
+ }
+
+ void Quit()
+ {
+#if UNITY_EDITOR
+ UnityEditor.EditorApplication.isPlaying = false;
+#else
+ Application.Quit();
+#endif
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ApplicationLifecycle/ApplicationEntryPoint.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ApplicationLifecycle/ApplicationEntryPoint.cs.meta
new file mode 100644
index 000000000..a4bf143c5
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ApplicationLifecycle/ApplicationEntryPoint.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: e5421dec4c564a2abeb66642b1cc697d
+timeCreated: 1691005957
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/AssemblyInfo.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/AssemblyInfo.cs
new file mode 100644
index 000000000..c60875a41
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/AssemblyInfo.cs
@@ -0,0 +1,3 @@
+using System.Runtime.CompilerServices;
+//Allows internals visibility for testing purposes
+[assembly: InternalsVisibleTo("com.unity.sample.dedicated-server.tests.runtime")]
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/AssemblyInfo.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/AssemblyInfo.cs.meta
new file mode 100644
index 000000000..f6dfa1f77
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/AssemblyInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 045923f4745463a47840789934c5afdb
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement.meta
new file mode 100644
index 000000000..54f885222
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1eddc6e5d56db834a9e848a9b2124114
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionEvents.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionEvents.cs
new file mode 100644
index 000000000..85e85bfe2
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionEvents.cs
@@ -0,0 +1,57 @@
+namespace Unity.DedicatedGameServerSample.Runtime.ConnectionManagement
+{
+ public enum ConnectStatus
+ {
+ ///
+ /// Status is not defined. This likely means an unexpected error occurred.
+ ///
+ Undefined,
+ ///
+ /// Client is attempting to connect.
+ ///
+ Connecting,
+ ///
+ /// Client successfully connected.
+ ///
+ Success,
+ ///
+ /// Can't join, server is already at capacity.
+ ///
+ ServerFull,
+ ///
+ /// Client build version is incompatible with server.
+ ///
+ IncompatibleVersions,
+ ///
+ /// Intentional Disconnect triggered by the user.
+ ///
+ UserRequestedDisconnect,
+ ///
+ /// Server disconnected, but no specific reason given.
+ ///
+ GenericDisconnect,
+ ///
+ /// Server intentionally ended the session.
+ ///
+ ServerEndedSession,
+ ///
+ /// Failed to connect to server and/or invalid network endpoint.
+ ///
+ StartClientFailed,
+ ///
+ /// Server failed to bind.
+ ///
+ StartServerFailed
+ }
+
+ public class ConnectionEvent : AppEvent
+ {
+ public ConnectStatus status;
+ }
+
+ public class ClientConnectedEvent: AppEvent { }
+
+ public class ClientDisconnectedEvent: AppEvent { }
+
+ public class MinNumberPlayersConnectedEvent: AppEvent { }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionEvents.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionEvents.cs.meta
new file mode 100644
index 000000000..711accfa5
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionEvents.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 7f882c74b78b49fea82231b114dfca7d
+timeCreated: 1695846958
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionManager.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionManager.cs
new file mode 100644
index 000000000..e51d77c68
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionManager.cs
@@ -0,0 +1,140 @@
+using System;
+using System.Collections.Generic;
+using Unity.Multiplayer;
+using Unity.Netcode;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime.ConnectionManagement
+{
+ [Serializable]
+ public class ConnectionPayload
+ {
+ public string applicationVersion;
+ }
+
+ ///
+ /// This state machine handles connection through the NetworkManager. It is responsible for listening to
+ /// NetworkManger callbacks and other outside calls and redirecting them to the current ConnectionState object.
+ ///
+ [MultiplayerRoleRestricted]
+ public class ConnectionManager : MonoBehaviour
+ {
+ ConnectionState m_CurrentState;
+
+ [SerializeField]
+ NetworkManager m_NetworkManager;
+ public NetworkManager NetworkManager => m_NetworkManager;
+
+ public EventManager EventManager
+ {
+ get
+ {
+ if (m_EventManager == null)
+ {
+ m_EventManager = new EventManager();
+ }
+
+ return m_EventManager;
+ }
+ }
+
+ EventManager m_EventManager;
+
+ internal readonly OfflineState m_Offline = new();
+ internal readonly ClientConnectingState m_ClientConnecting = new();
+ internal readonly ClientConnectedState m_ClientConnected = new();
+ internal readonly StartingServerState m_StartingServer = new();
+ internal readonly ServerListeningState m_ServerListening = new();
+
+ void Awake()
+ {
+ DontDestroyOnLoad(gameObject);
+ List states = new() {m_Offline, m_ClientConnecting, m_ClientConnected, m_StartingServer, m_ServerListening};
+ foreach (var state in states)
+ {
+ state.ConnectionManager = this;
+ }
+
+ m_CurrentState = m_Offline;
+ NetworkManager.OnClientConnectedCallback += OnClientConnectedCallback;
+ NetworkManager.OnClientDisconnectCallback += OnClientDisconnectCallback;
+ NetworkManager.OnServerStarted += OnServerStarted;
+ NetworkManager.ConnectionApprovalCallback += ApprovalCheck;
+ NetworkManager.OnTransportFailure += OnTransportFailure;
+ NetworkManager.OnServerStopped += OnServerStopped;
+ }
+
+ void OnDestroy()
+ {
+ NetworkManager.OnClientConnectedCallback -= OnClientConnectedCallback;
+ NetworkManager.OnClientDisconnectCallback -= OnClientDisconnectCallback;
+ NetworkManager.OnServerStarted -= OnServerStarted;
+ NetworkManager.ConnectionApprovalCallback -= ApprovalCheck;
+ NetworkManager.OnTransportFailure -= OnTransportFailure;
+ NetworkManager.OnServerStopped -= OnServerStopped;
+ }
+
+ internal void ChangeState(ConnectionState nextState)
+ {
+ Debug.Log($"{name}: Changed connection state from {m_CurrentState.GetType().Name} to {nextState.GetType().Name}.");
+
+ if (m_CurrentState != null)
+ {
+ m_CurrentState.Exit();
+ }
+
+ m_CurrentState = nextState;
+ m_CurrentState.Enter();
+ }
+
+ void OnClientDisconnectCallback(ulong clientId)
+ {
+ m_CurrentState.OnClientDisconnect(clientId);
+ }
+
+ void OnClientConnectedCallback(ulong clientId)
+ {
+ m_CurrentState.OnClientConnected(clientId);
+ }
+
+ void OnServerStarted()
+ {
+ m_CurrentState.OnServerStarted();
+ }
+
+ void ApprovalCheck(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response)
+ {
+ m_CurrentState.ApprovalCheck(request, response);
+ }
+
+ void OnTransportFailure()
+ {
+ m_CurrentState.OnTransportFailure();
+ }
+
+ void OnServerStopped(bool isHost) // we don't need this parameter as the ConnectionState already carries the relevant information
+ {
+ m_CurrentState.OnServerStopped();
+ }
+
+ public void StartClient(string ipaddress, ushort port)
+ {
+ m_CurrentState.StartClient(ipaddress, port);
+ }
+
+ public void StartServerMatchmaker()
+ {
+ m_CurrentState.StartServerMatchmaker();
+ }
+
+ public void StartServerIP(string ipaddress, ushort port)
+ {
+ m_CurrentState.StartServerIP(ipaddress, port);
+ }
+
+ public void RequestShutdown()
+ {
+ m_CurrentState.OnUserRequestedShutdown();
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionManager.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionManager.cs.meta
new file mode 100644
index 000000000..828a7a2d1
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionManager.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 3c860c436c6a4ecb9a149c08a00b52d7
+timeCreated: 1691004021
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates.meta
new file mode 100644
index 000000000..339baf23d
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c3c1277719c86fa40940c444597db8d7
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ClientConnectedState.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ClientConnectedState.cs
new file mode 100644
index 000000000..dce7281af
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ClientConnectedState.cs
@@ -0,0 +1,29 @@
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime.ConnectionManagement
+{
+ ///
+ /// Connection state corresponding to a connected client. When being disconnected, transitions to the Offline state.
+ ///
+ class ClientConnectedState : OnlineState
+ {
+ public override void Enter() { }
+
+ public override void Exit() { }
+
+ public override void OnClientDisconnect(ulong clientId)
+ {
+ var disconnectReason = ConnectionManager.NetworkManager.DisconnectReason;
+ if (string.IsNullOrEmpty(disconnectReason))
+ {
+ ConnectionManager.EventManager.Broadcast(new ConnectionEvent { status = ConnectStatus.GenericDisconnect });
+ }
+ else
+ {
+ var connectStatus = JsonUtility.FromJson(disconnectReason);
+ ConnectionManager.EventManager.Broadcast(new ConnectionEvent { status = connectStatus });
+ }
+ ConnectionManager.ChangeState(ConnectionManager.m_Offline);
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ClientConnectedState.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ClientConnectedState.cs.meta
new file mode 100644
index 000000000..6657ae62f
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ClientConnectedState.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 0d093e5077054a7fbab05b0b810bcff1
+timeCreated: 1691008000
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ClientConnectingState.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ClientConnectingState.cs
new file mode 100644
index 000000000..8a7a08b66
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ClientConnectingState.cs
@@ -0,0 +1,96 @@
+using System;
+using Unity.Netcode.Transports.UTP;
+using Unity.Services.Authentication;
+using Unity.Services.Core;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime.ConnectionManagement
+{
+ ///
+ /// Connection state corresponding to when a client is attempting to connect to a server. Starts the client when
+ /// entering. If successful, transitions to the ClientConnected state. If not, transitions to the Offline state.
+ ///
+ class ClientConnectingState : OnlineState
+ {
+ string m_IPAddress;
+ ushort m_Port;
+
+ public void Configure(string iPAddress, ushort port)
+ {
+ m_IPAddress = iPAddress;
+ m_Port = port;
+ }
+
+ public override void Enter()
+ {
+ ConnectionManager.EventManager.Broadcast(new ConnectionEvent { status = ConnectStatus.Connecting });
+ ConnectClient();
+ }
+
+ public override void Exit() { }
+
+ public override void OnClientConnected(ulong clientId)
+ {
+ ConnectionManager.EventManager.Broadcast(new ConnectionEvent { status = ConnectStatus.Success });
+ ConnectionManager.ChangeState(ConnectionManager.m_ClientConnected);
+ }
+
+ public override void OnClientDisconnect(ulong clientId)
+ {
+ // client ID is for sure ours here
+ StartingClientFailed();
+ }
+
+ void StartingClientFailed()
+ {
+ var disconnectReason = ConnectionManager.NetworkManager.DisconnectReason;
+ if (string.IsNullOrEmpty(disconnectReason))
+ {
+ ConnectionManager.EventManager.Broadcast(new ConnectionEvent { status = ConnectStatus.StartClientFailed });
+ }
+ else
+ {
+ var connectStatus = JsonUtility.FromJson(disconnectReason);
+ ConnectionManager.EventManager.Broadcast(new ConnectionEvent { status = connectStatus });
+ }
+ ConnectionManager.ChangeState(ConnectionManager.m_Offline);
+ }
+
+ void ConnectClient()
+ {
+ try
+ {
+ // Setup NGO with current connection method
+ SetConnectionPayload();
+ var utp = (UnityTransport)ConnectionManager.NetworkManager.NetworkConfig.NetworkTransport;
+ utp.SetConnectionData(m_IPAddress, m_Port);
+
+ Debug.Log($"Attempting to connect to server on {m_IPAddress} with port {m_Port}");
+ // NGO's StartClient launches everything
+ if (!ConnectionManager.NetworkManager.StartClient())
+ {
+ throw new Exception("NetworkManager StartClient failed");
+ }
+ }
+ catch (Exception e)
+ {
+ Debug.LogError("Error connecting client, see following exception");
+ Debug.LogException(e);
+ StartingClientFailed();
+ throw;
+ }
+ }
+
+ void SetConnectionPayload()
+ {
+ var payload = JsonUtility.ToJson(new ConnectionPayload()
+ {
+ applicationVersion = Application.version
+ });
+
+ var payloadBytes = System.Text.Encoding.UTF8.GetBytes(payload);
+
+ ConnectionManager.NetworkManager.NetworkConfig.ConnectionData = payloadBytes;
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ClientConnectingState.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ClientConnectingState.cs.meta
new file mode 100644
index 000000000..3b3fe75a2
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ClientConnectingState.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 66cfe4523b5946aaaf7ad55389c65d4a
+timeCreated: 1691004834
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ConnectionState.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ConnectionState.cs
new file mode 100644
index 000000000..25abd8c43
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ConnectionState.cs
@@ -0,0 +1,36 @@
+using Unity.Netcode;
+
+namespace Unity.DedicatedGameServerSample.Runtime.ConnectionManagement
+{
+ ///
+ /// Base class representing a connection state.
+ ///
+ abstract class ConnectionState
+ {
+ public ConnectionManager ConnectionManager { get; set; }
+
+ public abstract void Enter();
+
+ public abstract void Exit();
+
+ public virtual void OnClientConnected(ulong clientId) { }
+
+ public virtual void OnClientDisconnect(ulong clientId) { }
+
+ public virtual void OnServerStarted() { }
+
+ public virtual void StartClient(string ipaddress, ushort port) { }
+
+ public virtual void StartServerIP(string ipaddress, ushort port) { }
+
+ public virtual void StartServerMatchmaker() { }
+
+ public virtual void OnUserRequestedShutdown() { }
+
+ public virtual void ApprovalCheck(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response) { }
+
+ public virtual void OnTransportFailure() { }
+
+ public virtual void OnServerStopped() { }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ConnectionState.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ConnectionState.cs.meta
new file mode 100644
index 000000000..cd79094ba
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ConnectionState.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 9f2ec331f54949ceb978654ced3997ae
+timeCreated: 1691004004
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/OfflineState.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/OfflineState.cs
new file mode 100644
index 000000000..d0312b531
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/OfflineState.cs
@@ -0,0 +1,28 @@
+namespace Unity.DedicatedGameServerSample.Runtime.ConnectionManagement
+{
+ ///
+ /// Connection state corresponding to when the NetworkManager is shut down. From this state we can transition to the
+ /// ClientConnecting sate, if starting as a client, or the StartingServer state, if starting as a server.
+ ///
+ class OfflineState : ConnectionState
+ {
+ public override void Enter()
+ {
+ ConnectionManager.NetworkManager.Shutdown();
+ }
+
+ public override void Exit() { }
+
+ public override void StartClient(string ipaddress, ushort port)
+ {
+ ConnectionManager.m_ClientConnecting.Configure(ipaddress, port);
+ ConnectionManager.ChangeState(ConnectionManager.m_ClientConnecting);
+ }
+
+ public override void StartServerIP(string ipaddress, ushort port)
+ {
+ ConnectionManager.m_StartingServer.Configure(ipaddress, port);
+ ConnectionManager.ChangeState(ConnectionManager.m_StartingServer);
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/OfflineState.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/OfflineState.cs.meta
new file mode 100644
index 000000000..7b1385e1f
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/OfflineState.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: c9fe010a6b4f4728b146d94678b49e5f
+timeCreated: 1691004381
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/OnlineState.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/OnlineState.cs
new file mode 100644
index 000000000..f89b3b70e
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/OnlineState.cs
@@ -0,0 +1,21 @@
+namespace Unity.DedicatedGameServerSample.Runtime.ConnectionManagement
+{
+ ///
+ /// Base class representing an online connection state.
+ ///
+ abstract class OnlineState : ConnectionState
+ {
+ public override void OnUserRequestedShutdown()
+ {
+ // This behaviour will be the same for every online state
+ ConnectionManager.EventManager.Broadcast(new ConnectionEvent { status = ConnectStatus.UserRequestedDisconnect });
+ ConnectionManager.ChangeState(ConnectionManager.m_Offline);
+ }
+
+ public override void OnTransportFailure()
+ {
+ // This behaviour will be the same for every online state
+ ConnectionManager.ChangeState(ConnectionManager.m_Offline);
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/OnlineState.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/OnlineState.cs.meta
new file mode 100644
index 000000000..8a1aab4c7
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/OnlineState.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 62803ccae5dc4571bf09a1107c447002
+timeCreated: 1691004774
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ServerListeningState.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ServerListeningState.cs
new file mode 100644
index 000000000..4506d3fa0
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ServerListeningState.cs
@@ -0,0 +1,128 @@
+using Unity.DedicatedGameServerSample.Runtime.ApplicationLifecycle;
+using Unity.Netcode;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime.ConnectionManagement
+{
+ ///
+ /// Connection state corresponding to a listening server. Handles incoming client connections. When shutting down or
+ /// being timed out, transitions to the Offline state.
+ ///
+ class ServerListeningState : OnlineState
+ {
+ // used in ApprovalCheck. This is intended as a bit of light protection against DOS attacks that rely on sending silly big buffers of garbage.
+ const int k_MaxConnectPayload = 1024;
+ bool m_MinPlayerConnected = false;
+
+ public override void Enter()
+ {
+ // todo setup gsh to receive matchmaker tickets
+ m_MinPlayerConnected = false;
+ }
+
+ public override void Exit() { }
+
+ public override void OnClientConnected(ulong clientId)
+ {
+ Debug.Log($"Client {clientId} connected to the server.");
+ ConnectionManager.EventManager.Broadcast(new ClientConnectedEvent());
+
+ if (!m_MinPlayerConnected && ConnectionManager.NetworkManager.ConnectedClientsIds.Count >= ApplicationEntryPoint.Singleton.MinPlayers)
+ {
+ m_MinPlayerConnected = true;
+ ConnectionManager.EventManager.Broadcast(new MinNumberPlayersConnectedEvent());
+ }
+ }
+
+ public override void OnClientDisconnect(ulong clientId)
+ {
+ Debug.Log($"Client {clientId} disconnected from the server.");
+ ConnectionManager.EventManager.Broadcast(new ClientDisconnectedEvent());
+ if (ConnectionManager.NetworkManager.ConnectedClientsIds.Count == 1 && ConnectionManager.NetworkManager.ConnectedClients.ContainsKey(clientId))
+ {
+ // This callback is invoked by the last client disconnecting from the server
+ // Here the networked session is shut down immediately, but if we wanted to allow reconnection, we could
+ // include a delay in a coroutine that could get cancelled when a client reconnects
+ Debug.Log("All clients have disconnected from the server. Shutting down");
+ ConnectionManager.EventManager.Broadcast(new ConnectionEvent { status = ConnectStatus.ServerEndedSession });
+ ConnectionManager.ChangeState(ConnectionManager.m_Offline);
+ }
+ }
+
+ public override void OnUserRequestedShutdown()
+ {
+ var reason = JsonUtility.ToJson(ConnectStatus.ServerEndedSession);
+ for (var i = 0; i < ConnectionManager.NetworkManager.ConnectedClientsIds.Count; i++)
+ {
+ var id = ConnectionManager.NetworkManager.ConnectedClientsIds[i];
+
+ ConnectionManager.NetworkManager.DisconnectClient(id, reason);
+ }
+ ConnectionManager.EventManager.Broadcast(new ConnectionEvent { status = ConnectStatus.ServerEndedSession });
+ ConnectionManager.ChangeState(ConnectionManager.m_Offline);
+ }
+
+ public override void OnServerStopped()
+ {
+ ConnectionManager.EventManager.Broadcast(new ConnectionEvent { status = ConnectStatus.GenericDisconnect });
+ ConnectionManager.ChangeState(ConnectionManager.m_Offline);
+ }
+
+ ///
+ /// This logic plugs into the "ConnectionApprovalResponse" exposed by Netcode.NetworkManager. It is run every time a client connects to us.
+ /// The complementary logic that runs when the client starts its connection can be found in ClientConnectingState.
+ ///
+ ///
+ /// Multiple things can be done here, some asynchronously. For example, it could authenticate your user against an auth service like UGS' auth service. It can
+ /// also send custom messages to connecting users before they receive their connection result (this is useful to set status messages client side
+ /// when connection is refused, for example).
+ ///
+ /// The initial request contains, among other things, binary data passed into StartClient. In our case, this is the client's GUID,
+ /// which is a unique identifier for their install of the game that persists across app restarts.
+ /// Our response to the approval process. In case of connection refusal with custom return message, we delay using the Pending field.
+ public override void ApprovalCheck(NetworkManager.ConnectionApprovalRequest request, NetworkManager.ConnectionApprovalResponse response)
+ {
+ var connectionData = request.Payload;
+ if (connectionData.Length > k_MaxConnectPayload)
+ {
+ // If connectionData too high, deny immediately to avoid wasting time on the server. This is intended as
+ // a bit of light protection against DOS attacks that rely on sending silly big buffers of garbage.
+ response.Approved = false;
+ return;
+ }
+
+ var payload = System.Text.Encoding.UTF8.GetString(connectionData);
+ var connectionPayload = JsonUtility.FromJson(payload); // https://docs.unity3d.com/2020.2/Documentation/Manual/JSONSerialization.html
+ var gameReturnStatus = GetConnectStatus(connectionPayload);
+
+ if (gameReturnStatus == ConnectStatus.Success)
+ {
+ // connection approval will create a player object for you
+ response.Approved = true;
+ response.CreatePlayerObject = true;
+ response.Position = Vector3.zero;
+ response.Rotation = Quaternion.identity;
+ return;
+ }
+
+ response.Approved = false;
+ response.Reason = JsonUtility.ToJson(gameReturnStatus);
+ }
+
+ ConnectStatus GetConnectStatus(ConnectionPayload connectionPayload)
+ {
+ if (ConnectionManager.NetworkManager.ConnectedClientsIds.Count >= ApplicationEntryPoint.Singleton.MaxPlayers)
+ {
+ return ConnectStatus.ServerFull;
+ }
+
+ if (connectionPayload.applicationVersion != Application.version)
+ {
+ return ConnectStatus.IncompatibleVersions;
+ }
+
+ return ConnectStatus.Success;
+ //todo add support to deny connection if map or game version is different
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ServerListeningState.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ServerListeningState.cs.meta
new file mode 100644
index 000000000..a7989f270
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/ServerListeningState.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 828fcede87cc43569478098efc104016
+timeCreated: 1691008009
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/StartingServerState.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/StartingServerState.cs
new file mode 100644
index 000000000..81a68d420
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/StartingServerState.cs
@@ -0,0 +1,67 @@
+using System;
+using Unity.Netcode.Transports.UTP;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime.ConnectionManagement
+{
+ ///
+ /// Connection state corresponding to a server starting up. Starts the server when entering the state. If successful,
+ /// transitions to the ServerListening state, if not, transitions back to the Offline state.
+ ///
+ class StartingServerState : OnlineState
+ {
+ string m_IPAddress;
+ ushort m_Port;
+
+ public void Configure(string iPAddress, ushort port)
+ {
+ m_IPAddress = iPAddress;
+ m_Port = port;
+ }
+
+ public override void Enter()
+ {
+ StartServer();
+ }
+
+ public override void Exit(){ }
+
+ public override void OnServerStarted()
+ {
+ ConnectionManager.EventManager.Broadcast(new ConnectionEvent { status = ConnectStatus.Success });
+ ConnectionManager.ChangeState(ConnectionManager.m_ServerListening);
+ }
+
+ public override void OnServerStopped()
+ {
+ StartServerFailed();
+ }
+
+ void StartServerFailed()
+ {
+ ConnectionManager.EventManager.Broadcast(new ConnectionEvent { status = ConnectStatus.StartServerFailed });
+ ConnectionManager.ChangeState(ConnectionManager.m_Offline);
+ }
+
+ void StartServer()
+ {
+ try
+ {
+ var utp = (UnityTransport)ConnectionManager.NetworkManager.NetworkConfig.NetworkTransport;
+ utp.SetConnectionData(m_IPAddress, m_Port);
+
+ // NGO's StartServer launches everything
+ Debug.Log($"Starting server, listening on {m_IPAddress} with port {m_Port}");
+ if (!ConnectionManager.NetworkManager.StartServer())
+ {
+ StartServerFailed();
+ }
+ }
+ catch (Exception)
+ {
+ StartServerFailed();
+ throw;
+ }
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/StartingServerState.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/StartingServerState.cs.meta
new file mode 100644
index 000000000..d144e81a0
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/ConnectionManagement/ConnectionStates/StartingServerState.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 6843f77fccfe4a94bca15ad4af34d11c
+timeCreated: 1691006355
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core.meta
new file mode 100644
index 000000000..bdf985232
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c13fc21b430e1eb47b7e91b51ab93d88
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/BaseApplication.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/BaseApplication.cs
new file mode 100644
index 000000000..a6429a508
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/BaseApplication.cs
@@ -0,0 +1,87 @@
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Extension of the BaseApplication class to handle different types of Model View Controllers.
+ ///
+ ///
+ ///
+ ///
+ public class BaseApplication : BaseApplication
+ where M : Element
+ where V : Element
+ where C : Element
+ {
+ new internal BaseApplication Instance => (BaseApplication)(object)base.Instance;
+
+ ///
+ /// Model reference using the new type.
+ ///
+ new public M Model => (M)(object)base.Model;
+
+ ///
+ /// View reference using the new type.
+ ///
+ new public V View => (V)(object)base.View;
+
+ ///
+ /// Controller reference using the new type.
+ ///
+ new public C Controller => (C)(object)base.Controller;
+ }
+
+ ///
+ /// Root class for the scene's scripts.
+ ///
+ public class BaseApplication : Element
+ {
+ internal BaseApplication Instance { get; private set; }
+
+ internal EventManager EventManager;
+
+ ///
+ /// Fetches the root Model instance.
+ ///
+ internal Model Model => m_model = Find(m_model);
+ Model m_model;
+
+ ///
+ /// Fetches the root View instance.
+ ///
+ internal View View => m_view = Find(m_view);
+ View m_view;
+
+ ///
+ /// Fetches the root Controller instance.
+ ///
+ internal Controller Controller => m_controller = Find(m_controller);
+ Controller m_controller;
+
+ ///
+ /// Initializes the BaseApplication
+ ///
+ public BaseApplication()
+ {
+ if (EventManager == null)
+ {
+ EventManager = new EventManager();
+ }
+ }
+
+ protected virtual void Awake()
+ {
+ if (EventManager == null)
+ {
+ EventManager = new EventManager();
+ }
+ }
+
+ ///
+ /// Notifies an event to the component's of the app
+ ///
+ ///
+ new internal void Broadcast(AppEvent evt)
+ {
+ EventManager.Broadcast(evt);
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/BaseApplication.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/BaseApplication.cs.meta
new file mode 100644
index 000000000..ef19b0909
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/BaseApplication.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4b9738b2773985840a9a28ff7d5460f5
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/Controller.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/Controller.cs
new file mode 100644
index 000000000..06dc0e609
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/Controller.cs
@@ -0,0 +1,38 @@
+using System;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Base class for all Controllers in the application.
+ /// A Controller's purpose is to act as bridge between its view and model,
+ /// reacting on events and performing operations on either side
+ ///
+ public class Controller : Element { }
+
+ ///
+ /// Base class for all Controller related classes.
+ ///
+ public abstract class Controller : Controller where T : BaseApplication
+ {
+ ///
+ /// Returns app as a custom 'T' type.
+ ///
+ new public T App => (T)base.App;
+
+ ///
+ /// Subscribes to an AppEvent
+ ///
+ /// Callback for an AppEvent
+ internal void AddListener(Action evt) where E : AppEvent
+ {
+ App.EventManager.AddListener(evt);
+ }
+
+ internal void RemoveListener(Action evt) where E : AppEvent
+ {
+ App.EventManager.RemoveListener(evt);
+ }
+
+ internal abstract void RemoveListeners();
+ }
+}
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/Controller.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/Controller.cs.meta
new file mode 100644
index 000000000..f1a73f16f
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/Controller.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 53fa4595412e7b34fbdad8614e9dd91e
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/Element.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/Element.cs
new file mode 100644
index 000000000..0f0beb3a5
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/Element.cs
@@ -0,0 +1,50 @@
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Extension of the element class to handle different BaseApplication types.
+ ///
+ ///
+ public class Element : Element where T : BaseApplication
+ {
+ ///
+ /// Returns app as a custom 'T' type.
+ ///
+ new public T App { get { return (T)base.App; } }
+ }
+
+ ///
+ /// Base class for all MVC related classes.
+ ///
+ public class Element : MonoBehaviour
+ {
+ ///
+ /// Reference to the root application of the scene.
+ ///
+ public BaseApplication App => m_app = FindInParent(m_app);
+ BaseApplication m_app;
+
+ ///
+ /// Finds a instance of 'T' if 'var' is null. Returns 'var' otherwise.
+ ///
+ /// Type to find
+ ///
+ /// If true searches in all scope, otherwise, searches in children.
+ ///
+ internal T Find(T p_var, bool searchGlobally = false) where T : Object => p_var == null ? (searchGlobally ? GameObject.FindFirstObjectByType()
+ : transform.GetComponentInChildren(true)) : p_var;
+ T FindInParent(T p_var) where T : Object => p_var == null ? transform.GetComponentInParent()
+ : p_var;
+
+ ///
+ /// Notifies to the listening controllers the event
+ ///
+ /// The name of the event to notify
+ /// The parameters to pass to the listening controllers
+ internal void Broadcast(AppEvent evt)
+ {
+ App.Broadcast(evt);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/Element.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/Element.cs.meta
new file mode 100644
index 000000000..9fc553f76
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/Element.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 75258f6fad9489b479c7fe62dcf2e9d5
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/EventManager.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/EventManager.cs
new file mode 100644
index 000000000..c52d62acd
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/EventManager.cs
@@ -0,0 +1,73 @@
+using System;
+using System.Collections.Generic;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ public class AppEvent { }
+
+ ///
+ /// A simple Event System that can be used for remote systems communication
+ ///
+ public class EventManager
+ {
+ readonly Dictionary> m_Events = new Dictionary>();
+ readonly Dictionary> m_EventLookups = new Dictionary>();
+
+ internal void AddListener(Action evt) where T : AppEvent
+ {
+ if (m_EventLookups.ContainsKey(evt))
+ {
+ return;
+ }
+
+ Action newAction = (e) => evt((T)e);
+ m_EventLookups[evt] = newAction;
+
+ if (m_Events.TryGetValue(typeof(T), out Action internalAction))
+ {
+ m_Events[typeof(T)] = internalAction += newAction;
+ }
+ else
+ {
+ m_Events[typeof(T)] = newAction;
+ }
+ }
+
+ internal void RemoveListener(Action evt) where T : AppEvent
+ {
+ if (!m_EventLookups.TryGetValue(evt, out var action))
+ {
+ return;
+ }
+
+ if (m_Events.TryGetValue(typeof(T), out var tempAction))
+ {
+ tempAction -= action;
+ if (tempAction == null)
+ {
+ m_Events.Remove(typeof(T));
+ }
+ else
+ {
+ m_Events[typeof(T)] = tempAction;
+ }
+ }
+
+ m_EventLookups.Remove(evt);
+ }
+
+ internal void Broadcast(AppEvent evt)
+ {
+ if (m_Events.TryGetValue(evt.GetType(), out var action))
+ {
+ action.Invoke(evt);
+ }
+ }
+
+ internal void Clear()
+ {
+ m_Events.Clear();
+ m_EventLookups.Clear();
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/EventManager.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/EventManager.cs.meta
new file mode 100644
index 000000000..5a3f7c6d8
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/EventManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: af856a75c6d871e42881e43ba3613c8e
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/Model.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/Model.cs
new file mode 100644
index 000000000..276b06b96
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/Model.cs
@@ -0,0 +1,19 @@
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Base class for all Model related classes.
+ /// A Model's purpose is to contain data about something (tipically its view)
+ ///
+ public class Model : Element { }
+
+ ///
+ /// Base class for all Model related classes.
+ ///
+ public class Model : Model where T : BaseApplication
+ {
+ ///
+ /// Returns app as a custom 'T' type.
+ ///
+ new public T App => (T)base.App;
+ }
+}
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/Model.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/Model.cs.meta
new file mode 100644
index 000000000..b5f0ae641
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/Model.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7c53e6c70550e31479630e80b8b8acad
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/View.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/View.cs
new file mode 100644
index 000000000..14b3b9f80
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/View.cs
@@ -0,0 +1,29 @@
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Base class for all View related classes.
+ /// A View's purpose is to display data and objects (typically contained in the model)
+ ///
+ public class View : Element { }
+
+ ///
+ /// Base class for all View related classes.
+ ///
+ public class View : View where T : BaseApplication
+ {
+ ///
+ /// Returns app as a custom 'T' type.
+ ///
+ new public T App => (T)base.App;
+
+ internal void Show()
+ {
+ gameObject.SetActive(true);
+ }
+
+ internal void Hide()
+ {
+ gameObject.SetActive(false);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/View.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/View.cs.meta
new file mode 100644
index 000000000..6cfa02eb3
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Core/View.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a89dd10ab7790a2419e1c15a3be42ac0
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game.meta
new file mode 100644
index 000000000..1e64f576d
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5278a6484263bf44a8be2573476de7b6
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters.meta
new file mode 100644
index 000000000..27346d26c
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 030b7f8d0cf92b0459b6c641ac9d74c3
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI.meta
new file mode 100644
index 000000000..68e08b3bc
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4a2ffcbec65536947a580f75da5417ab
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/ClientAICharacter.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/ClientAICharacter.cs
new file mode 100644
index 000000000..21e2f3cfe
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/ClientAICharacter.cs
@@ -0,0 +1,51 @@
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ [RequireComponent(typeof(NetworkedAICharacter))]
+ public class ClientAICharacter : MonoBehaviour
+ {
+ [SerializeField]
+ NetworkedAICharacter m_NetworkedAICharacter;
+
+ [SerializeField]
+ Animator m_Animator;
+
+ [SerializeField]
+ AudioClip[] FootstepAudioClips;
+
+ [SerializeField]
+ [Range(0, 1)]
+ float FootstepAudioVolume = 0.5f;
+
+ static readonly int k_AnimIdSpeed = Animator.StringToHash("Speed");
+ static readonly int k_AnimIdMotionSpeed = Animator.StringToHash("MotionSpeed");
+ const float k_AnimMotionSpeed = 1.0f;
+
+ void Start()
+ {
+ // Setting this value to 1
+ m_Animator.SetFloat(k_AnimIdMotionSpeed, k_AnimMotionSpeed);
+ }
+
+ void Update()
+ {
+ if (m_NetworkedAICharacter.IsSpawned)
+ {
+ m_Animator.SetFloat(k_AnimIdSpeed, m_NetworkedAICharacter.Speed);
+ }
+ }
+
+ void OnFootstep(AnimationEvent animationEvent)
+ {
+ if (animationEvent.animatorClipInfo.weight > 0.5f)
+ {
+ if (FootstepAudioClips.Length > 0)
+ {
+ var index = Random.Range(0, FootstepAudioClips.Length);
+ AudioSource.PlayClipAtPoint(FootstepAudioClips[index], transform.position, FootstepAudioVolume);
+ }
+ }
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/ClientAICharacter.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/ClientAICharacter.cs.meta
new file mode 100644
index 000000000..2361e5755
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/ClientAICharacter.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 817c71b62011ef746bb2c549f5897149
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/NetworkedAICharacter.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/NetworkedAICharacter.cs
new file mode 100644
index 000000000..497ed9680
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/NetworkedAICharacter.cs
@@ -0,0 +1,22 @@
+using System;
+using Unity.Multiplayer.Samples.Utilities;
+using Unity.Netcode;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Networked script to handle player character logic that needs to be networked.
+ /// Inherits from NetcodeHooks class to provide hooks for spawn and despawn events.
+ ///
+ public class NetworkedAICharacter : NetcodeHooks, ICharacter
+ {
+ NetworkVariable m_Speed = new NetworkVariable();
+
+ public float Speed
+ {
+ get => m_Speed.Value;
+ set => m_Speed.Value = value;
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/NetworkedAICharacter.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/NetworkedAICharacter.cs.meta
new file mode 100644
index 000000000..1b196ba8a
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/NetworkedAICharacter.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: fc55bb2809cf3cd43997f110554eaed3
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/Patrol.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/Patrol.cs
new file mode 100644
index 000000000..7c429679e
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/Patrol.cs
@@ -0,0 +1,64 @@
+using System;
+using System.Collections.Generic;
+#if UNITY_EDITOR
+using UnityEditor;
+#endif
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Basic script to define a patrol made of a list of points. Handles drawing gizmos to make creation easier.
+ ///
+ public class Patrol : MonoBehaviour
+ {
+ [SerializeField]
+ List m_PatrolPoints;
+
+ Vector3[] m_PatrolPointsPositions;
+ public Vector3[] PatrolPointsPositions => m_PatrolPointsPositions;
+
+ void OnValidate()
+ {
+ if (m_PatrolPoints.Count < 2)
+ {
+ throw new Exception("Each patrol must have at least two points in it");
+ }
+ }
+
+ void Awake()
+ {
+ SetPatrolPointsPositions();
+ }
+
+ void SetPatrolPointsPositions()
+ {
+ var temp = new List();
+ foreach (var point in m_PatrolPoints)
+ {
+ temp.Add(point.position);
+ }
+
+ m_PatrolPointsPositions = temp.ToArray();
+ }
+
+ void OnDrawGizmos()
+ {
+#if UNITY_EDITOR
+ // if in editor and playmode is off, manually update point positions before drawing
+ if (!EditorApplication.isPlaying)
+ {
+ SetPatrolPointsPositions();
+ }
+#endif
+ if (PatrolPointsPositions.Length >= 2)
+ {
+ Gizmos.DrawLineStrip(PatrolPointsPositions, true);
+ foreach (var point in m_PatrolPointsPositions)
+ {
+ Gizmos.DrawLine(point, point + Vector3.up);
+ }
+ }
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/Patrol.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/Patrol.cs.meta
new file mode 100644
index 000000000..2fb380884
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/Patrol.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 585995a8e6d34efaab14e386bba6298d
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {fileID: 4162164826716764455, guid: 0000000000000000d000000000000000, type: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/ServerAICharacter.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/ServerAICharacter.cs
new file mode 100644
index 000000000..ae59da8d0
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/ServerAICharacter.cs
@@ -0,0 +1,64 @@
+using System;
+using UnityEngine;
+using UnityEngine.AI;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Handles the server-side logic of AI characters.
+ /// Navigation code is based on the example shown in https://docs.unity3d.com/Packages/com.unity.ai.navigation@2.0/manual/NavAgentPatrol.html
+ ///
+ [RequireComponent(typeof(NetworkedAICharacter))]
+ public class ServerAICharacter : MonoBehaviour
+ {
+ [SerializeField]
+ NetworkedAICharacter m_NetworkedAICharacter;
+
+ [SerializeField]
+ NavMeshAgent m_NavMeshAgent;
+
+ public Vector3[] PatrolPoints { get; set; }
+ int m_PatrolIndex;
+
+ const float k_ReachDist = 0.5f;
+
+ void Awake()
+ {
+ m_NetworkedAICharacter.OnNetworkSpawnHook += OnNetworkSpawn;
+ }
+
+ void OnDestroy()
+ {
+ if (m_NetworkedAICharacter != null)
+ {
+ m_NetworkedAICharacter.OnNetworkSpawnHook -= OnNetworkSpawn;
+ }
+ }
+
+ void OnNetworkSpawn()
+ {
+ m_PatrolIndex = 0;
+ GotoNextPoint();
+ }
+
+ void GotoNextPoint()
+ {
+ if (PatrolPoints.Length == 0)
+ return;
+
+ m_NavMeshAgent.destination = PatrolPoints[m_PatrolIndex];
+
+ m_PatrolIndex = (m_PatrolIndex + 1) % PatrolPoints.Length;
+ }
+
+ void Update()
+ {
+ if (!m_NavMeshAgent.pathPending && m_NavMeshAgent.remainingDistance < k_ReachDist)
+ {
+ GotoNextPoint();
+ }
+
+ m_NetworkedAICharacter.Speed = m_NavMeshAgent.velocity.magnitude;
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/ServerAICharacter.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/ServerAICharacter.cs.meta
new file mode 100644
index 000000000..e403b934a
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/ServerAICharacter.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: f45232468e01af34d95012664f7e3e2f
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/ServerAISpawner.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/ServerAISpawner.cs
new file mode 100644
index 000000000..bfc692336
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/ServerAISpawner.cs
@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using Unity.Netcode;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ public class ServerAISpawner : MonoBehaviour
+ {
+ [SerializeField]
+ List m_Patrols;
+
+ [SerializeField]
+ GameObject m_CharacterPrefab;
+
+ [SerializeField]
+ NetworkedGameState m_NetworkedGameState;
+
+ void Awake()
+ {
+ m_NetworkedGameState.OnMatchStarted += OnMatchStarted;
+ }
+
+ void OnDestroy()
+ {
+ m_NetworkedGameState.OnMatchStarted -= OnMatchStarted;
+ }
+
+ void OnMatchStarted()
+ {
+ foreach (var patrol in m_Patrols)
+ {
+ var characterGO = Instantiate(m_CharacterPrefab, patrol.PatrolPointsPositions[0], Quaternion.identity);
+ characterGO.GetComponent().PatrolPoints = patrol.PatrolPointsPositions;
+ characterGO.GetComponent().Spawn();
+ }
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/ServerAISpawner.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/ServerAISpawner.cs.meta
new file mode 100644
index 000000000..8d93bf89e
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/AI/ServerAISpawner.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 60bc545e3cb0a89478529e9a036abfbe
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/ICharacter.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/ICharacter.cs
new file mode 100644
index 000000000..40523f70a
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/ICharacter.cs
@@ -0,0 +1,9 @@
+using Unity.Netcode;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ internal interface ICharacter
+ {
+ NetworkObject NetworkObject { get; }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/ICharacter.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/ICharacter.cs.meta
new file mode 100644
index 000000000..1e916a6ab
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/ICharacter.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 3ce29964969d25b4ba939be344e07172
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player.meta
new file mode 100644
index 000000000..6927053c3
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2bd40e6733e53604f9acaec75578a86f
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ClientPlayerCharacter.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ClientPlayerCharacter.cs
new file mode 100644
index 000000000..ce386185d
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ClientPlayerCharacter.cs
@@ -0,0 +1,95 @@
+using System;
+using Cinemachine;
+using StarterAssets;
+using UnityEngine;
+using UnityEngine.InputSystem;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Assumes client authority
+ ///
+ [RequireComponent(typeof(NetworkedPlayerCharacter))]
+ public class ClientPlayerCharacter : MonoBehaviour
+ {
+ [SerializeField]
+ NetworkedPlayerCharacter m_NetworkedPlayerCharacter;
+
+ [SerializeField]
+ CharacterController m_CharacterController;
+
+ [SerializeField]
+ ThirdPersonController m_ThirdPersonController;
+
+ [SerializeField]
+ CapsuleCollider m_CapsuleCollider;
+
+ [SerializeField]
+ Transform m_CameraFollow;
+
+ [SerializeField]
+ PlayerInput m_PlayerInput;
+ internal PlayerInput PlayerInput => m_PlayerInput;
+
+ void Awake()
+ {
+ Cursor.lockState = CursorLockMode.Locked;
+ Cursor.visible = false;
+
+ // ThirdPersonController & CharacterController are enabled only on owning clients. Ghost player objects have
+ // these two components disabled, and will enable a CapsuleCollider. Per the CharacterController documentation:
+ // https://docs.unity3d.com/Manual/CharacterControllers.html, a Character controller can push rigidbody
+ // objects aside while moving but will not be accelerated by incoming collisions. This means that a primitive
+ // CapsuleCollider must instead be used for ghost clients to simulate collisions between owning players and
+ // ghost clients.
+ m_ThirdPersonController.enabled = false;
+ m_PlayerInput.enabled = false;
+ m_CapsuleCollider.enabled = false;
+ m_CharacterController.enabled = false;
+ m_NetworkedPlayerCharacter.OnNetworkSpawnHook += OnNetworkSpawn;
+ }
+
+ void OnDestroy()
+ {
+ m_NetworkedPlayerCharacter.OnNetworkSpawnHook -= OnNetworkSpawn;
+ }
+
+ void OnNetworkSpawn()
+ {
+ if (!m_NetworkedPlayerCharacter.IsOwner)
+ {
+ enabled = false;
+ m_CapsuleCollider.enabled = true;
+ return;
+ }
+
+ // player input is only enabled on owning players
+ m_PlayerInput.enabled = true;
+ m_ThirdPersonController.enabled = true;
+
+ // see the note inside NetworkedPlayerCharacter why this step is also necessary for synchronizing initial player
+ // position on owning clients
+ m_CharacterController.enabled = true;
+
+ var cinemachineVirtualCamera = FindFirstObjectByType();
+ cinemachineVirtualCamera.Follow = m_CameraFollow;
+
+ GameApplication.Instance.Model.PlayerCharacter = this;
+ }
+
+ void OnMenuToggle(InputValue value)
+ {
+ if (value.isPressed)
+ {
+ GameApplication.Instance.Broadcast(new MenuToggleEvent());
+ }
+ }
+
+ public void SetInputsActive(bool active)
+ {
+ m_PlayerInput.enabled = active;
+ Cursor.lockState = active ? CursorLockMode.Locked : CursorLockMode.None;
+ Cursor.visible = !active;
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ClientPlayerCharacter.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ClientPlayerCharacter.cs.meta
new file mode 100644
index 000000000..b89e7c391
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ClientPlayerCharacter.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: bb8100e3fcda6294a8656d145e5951d4
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ClientPlayerColor.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ClientPlayerColor.cs
new file mode 100644
index 000000000..08f2e8f0b
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ClientPlayerColor.cs
@@ -0,0 +1,49 @@
+using System;
+using UnityEngine;
+using Unity.Netcode;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ class ClientPlayerColor : NetworkBehaviour
+ {
+ [SerializeField]
+ Renderer m_PlayerNumberMesh;
+ [ColorUsage(false, true)]
+ [SerializeField]
+ Color[] m_PlayerColors;
+ [ColorUsage(false, true)]
+ [SerializeField]
+ Color[] m_PlayerEmissiveColors;
+ [SerializeField]
+ int m_PlayerNumber;
+ [SerializeField]
+ Vector2 m_PlayerNumberVector;
+
+ public override void OnNetworkSpawn()
+ {
+ base.OnNetworkSpawn();
+ SkinnedMeshRenderer m_Renderer = GetComponentInChildren();
+ m_PlayerNumber = Convert.ToInt32(OwnerClientId.ToString());
+ var playerColorIndex = m_PlayerNumber % m_PlayerColors.Length;
+
+ foreach (var material in m_Renderer.materials)
+ {
+ material.SetColor("_Character_Color", m_PlayerColors[playerColorIndex]);
+ material.SetColor("_Character_Emissive_Color", m_PlayerEmissiveColors[playerColorIndex]);
+ }
+
+ if (m_PlayerNumber < 10)
+ {
+ m_PlayerNumberVector = new Vector2(0, m_PlayerNumber);
+ }
+ else
+ {
+ char[] numberCharArray = m_PlayerNumber.ToString().ToCharArray();
+ m_PlayerNumberVector = new Vector2(Int32.Parse(numberCharArray[0].ToString()), Int32.Parse(numberCharArray[1].ToString()));
+ }
+
+ m_PlayerNumberMesh.material.SetVector("_PlayerNumber", m_PlayerNumberVector);
+ m_PlayerNumberMesh.material.SetColor("_PlayerColor", m_PlayerColors[playerColorIndex]);
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ClientPlayerColor.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ClientPlayerColor.cs.meta
new file mode 100644
index 000000000..97fe0ac43
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ClientPlayerColor.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: dc55263d027ad72419720fde3696727a
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/NetworkedPlayerCharacter.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/NetworkedPlayerCharacter.cs
new file mode 100644
index 000000000..3d62c2431
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/NetworkedPlayerCharacter.cs
@@ -0,0 +1,40 @@
+using System;
+using Unity.Multiplayer.Samples.Utilities;
+using Unity.Netcode;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Networked script to handle player character logic that needs to be networked.
+ /// Inherits from NetcodeHooks class to provide hooks for spawn and despawn events.
+ ///
+ public class NetworkedPlayerCharacter : NetcodeHooks, ICharacter
+ {
+ public override void OnNetworkSpawn()
+ {
+ if (IsServer)
+ {
+ OnServerSpawnPlayer();
+ }
+
+ base.OnNetworkSpawn();
+ }
+
+ void OnServerSpawnPlayer()
+ {
+ // this is done server side, so we have a single source of truth for our spawn point list
+ var spawnPoint = ServerPlayerSpawnPoints.Instance.ConsumeNextSpawnPoint();
+ var spawnPosition = spawnPoint ? spawnPoint.transform.position : Vector3.zero;
+ transform.position = spawnPosition;
+
+ // Side Note: Specific to Owner Authoritative
+ // Setting the position works as and can be set in OnNetworkSpawn server-side unless there is a
+ // CharacterController that is enabled by default on the authoritative side. With CharacterController, it
+ // needs to be disabled by default (i.e. in Awake), the server applies the position (OnNetworkSpawn), and then
+ // the owner of the NetworkObject should enable CharacterController during OnNetworkSpawn. Otherwise,
+ // CharacterController will initialize itself with the initial position (before synchronization) and updates the
+ // transform after synchronization with the initial position, thus overwriting the synchronized position.
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/NetworkedPlayerCharacter.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/NetworkedPlayerCharacter.cs.meta
new file mode 100644
index 000000000..8b46fdefe
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/NetworkedPlayerCharacter.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 72cdb96278bc495ea1450b659fef8403
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ServerPlayerCharacter.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ServerPlayerCharacter.cs
new file mode 100644
index 000000000..85c5a982c
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ServerPlayerCharacter.cs
@@ -0,0 +1,21 @@
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Assumes client authority
+ ///
+ [RequireComponent(typeof(NetworkedPlayerCharacter))]
+ public class ServerPlayerCharacter : MonoBehaviour
+ {
+ // Those events are caught by ThirdPersonController on clients, but since it doesn't exist on the server,
+ // they have to also be caught here, where they do nothing. This is required because we are using the
+ // NetworkAnimator component to synchronize animations between clients. This component requires an animator to
+ // also be present on the server. While this prevents the server from stripping out the Animator component, it
+ // is simple to do if we want to synchronize an animation between clients without having to manually synchronize
+ // the animation triggers and parameters.
+ void OnFootstep(AnimationEvent animationEvent) { }
+
+ void OnLand(AnimationEvent animationEvent) { }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ServerPlayerCharacter.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ServerPlayerCharacter.cs.meta
new file mode 100644
index 000000000..457937df5
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ServerPlayerCharacter.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: e5abadeefc16c65478b964d474f8af23
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ServerPlayerSpawnPoints.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ServerPlayerSpawnPoints.cs
new file mode 100644
index 000000000..fbeb58a32
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ServerPlayerSpawnPoints.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class ServerPlayerSpawnPoints : MonoBehaviour
+{
+ [SerializeField]
+ List m_SpawnPoints;
+
+ static ServerPlayerSpawnPoints s_Instance;
+
+ public static ServerPlayerSpawnPoints Instance => s_Instance;
+
+ void Awake()
+ {
+ s_Instance = this;
+ }
+
+ void OnDestroy()
+ {
+ s_Instance = null;
+ }
+
+ public GameObject ConsumeNextSpawnPoint()
+ {
+ if (m_SpawnPoints.Count == 0)
+ {
+ return null;
+ }
+
+ var toReturn = m_SpawnPoints[m_SpawnPoints.Count - 1];
+ m_SpawnPoints.RemoveAt(m_SpawnPoints.Count - 1);
+ return toReturn;
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ServerPlayerSpawnPoints.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ServerPlayerSpawnPoints.cs.meta
new file mode 100644
index 000000000..7eeb7a37a
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Characters/Player/ServerPlayerSpawnPoints.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 4e527eab88b471c4f8486f1947ee3097
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers.meta
new file mode 100644
index 000000000..d37e1460e
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9f244a7b84cca714fb3f3d93f73e6bbb
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/GameController.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/GameController.cs
new file mode 100644
index 000000000..f2fa2914a
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/GameController.cs
@@ -0,0 +1,21 @@
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Main controller of the
+ ///
+ public class GameController : Controller
+ {
+ GameModel Model => App.Model;
+
+ void OnDestroy()
+ {
+ RemoveListeners();
+ }
+
+ internal override void RemoveListeners()
+ {
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/GameController.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/GameController.cs.meta
new file mode 100644
index 000000000..0cd4ae20b
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/GameController.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: eeb1f660831c3a143b1b0b77a612f726
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/GameMenuController.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/GameMenuController.cs
new file mode 100644
index 000000000..b2f602c13
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/GameMenuController.cs
@@ -0,0 +1,75 @@
+using System;
+using Unity.DedicatedGameServerSample.Runtime.ApplicationLifecycle;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ internal class GameMenuController : Controller
+ {
+ GameMenuView View => App.View.Menu;
+
+ void Awake()
+ {
+ AddListener(OnClientResumeButtonClicked);
+ AddListener(OnClientQuitButtonClicked);
+ AddListener(OnMenuToggled);
+ AddListener(OnClientEndMatch);
+ }
+
+ void OnDestroy()
+ {
+ RemoveListeners();
+ }
+
+ void OnApplicationFocus(bool hasFocus)
+ {
+ if (!hasFocus)
+ {
+ // open menu when losing focus
+ SetMenuActive(true);
+ }
+ }
+
+ internal override void RemoveListeners()
+ {
+ RemoveListener(OnClientResumeButtonClicked);
+ RemoveListener(OnClientQuitButtonClicked);
+ RemoveListener(OnMenuToggled);
+ RemoveListener(OnClientEndMatch);
+ }
+
+ void OnClientResumeButtonClicked(ResumeButtonClickedEvent evt)
+ {
+ SetMenuActive(false);
+ }
+
+ void OnClientQuitButtonClicked(QuitButtonClickedEvent evt)
+ {
+ ApplicationEntryPoint.Singleton.ConnectionManager.RequestShutdown();
+ }
+
+ void OnMenuToggled(MenuToggleEvent evt)
+ {
+ SetMenuActive(!App.Model.MenuVisible);
+ }
+
+ void OnClientEndMatch(EndMatchEvent evt)
+ {
+ View.Hide();
+ RemoveListeners();
+ }
+
+ void SetMenuActive(bool isMenuActive)
+ {
+ if (isMenuActive)
+ {
+ View.Show();
+ }
+ else
+ {
+ View.Hide();
+ }
+ App.Model.MenuVisible = isMenuActive;
+ App.Model.PlayerCharacter.SetInputsActive(!isMenuActive);
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/GameMenuController.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/GameMenuController.cs.meta
new file mode 100644
index 000000000..298442565
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/GameMenuController.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: f96c4a9e6d4942c4bfe610a7ee318772
+timeCreated: 1698348198
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/MatchController.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/MatchController.cs
new file mode 100644
index 000000000..4fcb3fa32
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/MatchController.cs
@@ -0,0 +1,50 @@
+using System;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ internal class MatchController : Controller
+ {
+ MatchView View => App.View.Match;
+
+ void Awake()
+ {
+ App.Model.Countdown.OnValueChanged += OnCountdownChanged;
+ App.Model.PlayersConnected.OnValueChanged += OnPlayersConnectedChanged;
+ App.Model.NetworkedGameState.OnMatchStarted += OnMatchStarted;
+ App.Model.NetworkedGameState.OnMatchEnded += OnMatchEnded;
+ }
+
+ void OnDestroy()
+ {
+ RemoveListeners();
+ }
+
+ internal override void RemoveListeners()
+ {
+ App.Model.Countdown.OnValueChanged -= OnCountdownChanged;
+ App.Model.PlayersConnected.OnValueChanged -= OnPlayersConnectedChanged;
+ App.Model.NetworkedGameState.OnMatchStarted -= OnMatchStarted;
+ App.Model.NetworkedGameState.OnMatchEnded -= OnMatchEnded;
+ }
+
+ void OnCountdownChanged(uint previousValue, uint newValue)
+ {
+ View.OnCountdownChanged(newValue);
+ }
+
+ void OnPlayersConnectedChanged(int previousValue, int newValue)
+ {
+ View.OnPlayersConnectedChanged(newValue);
+ }
+
+ void OnMatchEnded()
+ {
+ Broadcast(new EndMatchEvent());
+ }
+
+ void OnMatchStarted()
+ {
+ Broadcast(new StartMatchEvent());
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/MatchController.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/MatchController.cs.meta
new file mode 100644
index 000000000..de5a6716a
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/MatchController.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 719e07b3624c81140be71b4ef4f59064
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/MatchRecapController.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/MatchRecapController.cs
new file mode 100644
index 000000000..08447b147
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/MatchRecapController.cs
@@ -0,0 +1,37 @@
+using Unity.DedicatedGameServerSample.Runtime.ApplicationLifecycle;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ internal class MatchRecapController : Controller
+ {
+ MatchRecapView View => App.View.MatchRecap;
+
+ void Awake()
+ {
+ AddListener(OnClientEndMatch);
+ AddListener(OnClientMatchEndAcknowledged);
+ }
+
+ void OnDestroy()
+ {
+ RemoveListeners();
+ }
+
+ internal override void RemoveListeners()
+ {
+ RemoveListener(OnClientEndMatch);
+ RemoveListener(OnClientMatchEndAcknowledged);
+ }
+
+ void OnClientEndMatch(EndMatchEvent evt)
+ {
+ App.Model.PlayerCharacter.SetInputsActive(false);
+ View.OnClientEndMatch(evt);
+ }
+
+ void OnClientMatchEndAcknowledged(MatchEndAcknowledgedEvent evt)
+ {
+ ApplicationEntryPoint.Singleton.ConnectionManager.RequestShutdown();
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/MatchRecapController.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/MatchRecapController.cs.meta
new file mode 100644
index 000000000..2b3154aa7
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Controllers/MatchRecapController.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f1bc2a90b0160b442acf63cf3e9727cf
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameApplication.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameApplication.cs
new file mode 100644
index 000000000..c66f91a2f
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameApplication.cs
@@ -0,0 +1,18 @@
+using Unity.Netcode;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Manages the flow of the Game part of the application
+ ///
+ public class GameApplication : BaseApplication
+ {
+ internal new static GameApplication Instance { get; private set; }
+
+ protected override void Awake()
+ {
+ base.Awake();
+ Instance = this;
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameApplication.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameApplication.cs.meta
new file mode 100644
index 000000000..96098a7af
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameApplication.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4cb1e22d830e50240ac8d402a642fce2
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameEvents.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameEvents.cs
new file mode 100644
index 000000000..dccfd3599
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameEvents.cs
@@ -0,0 +1,14 @@
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ internal class ResumeButtonClickedEvent : AppEvent { }
+
+ internal class QuitButtonClickedEvent : AppEvent { }
+
+ internal class MatchEndAcknowledgedEvent : AppEvent { }
+
+ internal class StartMatchEvent : AppEvent { }
+
+ internal class MenuToggleEvent : AppEvent { }
+
+ internal class EndMatchEvent : AppEvent { }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameEvents.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameEvents.cs.meta
new file mode 100644
index 000000000..ba2028cce
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameEvents.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 46a83e85282930741a79d07c6103702d
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameplayObjects.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameplayObjects.meta
new file mode 100644
index 000000000..29b0d9b32
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameplayObjects.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: ad51411b5b8748ddaa47b623a7983cb5
+timeCreated: 1699306389
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameplayObjects/SwitchedDoor.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameplayObjects/SwitchedDoor.cs
new file mode 100644
index 000000000..4f0358243
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameplayObjects/SwitchedDoor.cs
@@ -0,0 +1,217 @@
+using System;
+using Unity.Netcode;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Contains both client and server logic for a door that is opened when a player asks to.
+ /// The visuals of the door animate as "opening" and "closing", but for physics purposes this is an illusion:
+ /// whenever the door is open on the server, the door's physics are disabled, and vice versa.
+ ///
+ public class SwitchedDoor : NetworkBehaviour
+ {
+ const string k_OpenDoorAction = "OpenDoor";
+ static readonly int s_AnimatorDoorOpenBoolID = Animator.StringToHash("IsOpen");
+
+ [SerializeField]
+ Animator m_Animator;
+
+ [SerializeField]
+ GameObject m_UI;
+
+ public NetworkVariable IsOpen { get; } = new NetworkVariable();
+ NetworkVariable m_CanBeOpened { get; } = new NetworkVariable();
+ byte m_NearbyPlayers = 0;
+ bool m_LocalPlayerIsNearby = false;
+
+#if UNITY_EDITOR || DEVELOPMENT_BUILD
+ [SerializeField]
+ bool m_ForceOpen;
+#endif
+
+ [SerializeField]
+ [Tooltip("This physics and navmesh obstacle is enabled when the door is closed.")]
+ GameObject m_PhysicsObject;
+
+ public override void OnNetworkSpawn()
+ {
+ IsOpen.OnValueChanged += OnDoorStateChanged;
+ m_CanBeOpened.OnValueChanged += OnDoorCanBeOpenedChanged;
+
+ if (IsClient)
+ {
+ // initialize visuals based on current server state (or else we default to "closed")
+ m_PhysicsObject.SetActive(!IsOpen.Value);
+ }
+
+ if (IsServer)
+ {
+ OnDoorStateChanged(false, IsOpen.Value);
+ }
+ OnDoorCanBeOpenedChanged(false, false);
+ }
+
+ public override void OnNetworkDespawn()
+ {
+ IsOpen.OnValueChanged -= OnDoorStateChanged;
+ m_CanBeOpened.OnValueChanged -= OnDoorCanBeOpenedChanged;
+ }
+
+ void Update()
+ {
+ if (IsServer && IsSpawned)
+ {
+ var forceOpen = false;
+
+#if UNITY_EDITOR || DEVELOPMENT_BUILD
+ forceOpen |= m_ForceOpen;
+#endif
+ if (forceOpen)
+ {
+ OnServerOpenDoor();
+ }
+ }
+ if (IsClient && m_LocalPlayerIsNearby && m_CanBeOpened.Value)
+ {
+ if (GameApplication.Instance.Model.PlayerCharacter.PlayerInput.actions[k_OpenDoorAction].WasPressedThisFrame())
+ {
+ Debug.Log("[Client] Local player opening door");
+ OnServerOpenServerRpc();
+ }
+ }
+ }
+
+ void OnTriggerEnter(Collider other)
+ {
+ if (IsClient)
+ {
+ OnClientTriggerEnter(other);
+ }
+ if (IsServer)
+ {
+ OnServerTriggerEnter(other);
+ }
+ }
+
+ void OnTriggerExit(Collider other)
+ {
+ if (IsClient)
+ {
+ OnClientTriggerExit(other);
+ }
+ if (IsServer)
+ {
+ OnServerTriggerExit(other);
+ }
+ }
+
+ void OnServerTriggerEnter(Collider other)
+ {
+ if (other.GetComponent() == null)
+ {
+ return;
+ }
+ Debug.Log("[Server] Player entered!");
+ m_NearbyPlayers++;
+ OnServerUpdateCanBeOpened();
+ }
+
+ void OnServerTriggerExit(Collider other)
+ {
+ if (other.GetComponent() == null)
+ {
+ return;
+ }
+ Debug.Log("[Server] Player exited!");
+ m_NearbyPlayers--;
+ OnServerUpdateCanBeOpened();
+ }
+
+ void OnClientTriggerEnter(Collider other)
+ {
+ Debug.Log("[Client] Player entered!");
+ var character = other.GetComponent();
+ if (character == null)
+ {
+ return;
+ }
+ if (character.NetworkObject.IsLocalPlayer)
+ {
+ m_LocalPlayerIsNearby = true;
+ /*
+ * we do not use m_CanBeOpened here to predict if we can display the UI or not,
+ * because its value is being recalculated by the server
+ * at the same time and we could have an outdated value.
+ */
+ m_UI.SetActive(!IsOpen.Value);
+ }
+ }
+
+ void OnClientTriggerExit(Collider other)
+ {
+ var character = other.GetComponent();
+ if (character == null)
+ {
+ return;
+ }
+ Debug.Log("[Client] Player exited!");
+ if (character.NetworkObject.IsLocalPlayer)
+ {
+ Debug.Log("[Client] Hiding UI!");
+ m_LocalPlayerIsNearby = false;
+ m_UI.SetActive(false);
+ }
+ }
+
+ void OnServerUpdateCanBeOpened()
+ {
+ m_CanBeOpened.Value = m_NearbyPlayers > 0 && !IsOpen.Value;
+ }
+
+ void OnDoorStateChanged(bool wasDoorOpen, bool isDoorOpen)
+ {
+ if (IsServer)
+ {
+ m_Animator.SetBool(s_AnimatorDoorOpenBoolID, isDoorOpen);
+ }
+
+ if (IsClient)
+ {
+ m_PhysicsObject.SetActive(!isDoorOpen);
+ if (isDoorOpen)
+ {
+ m_UI.SetActive(false);
+ }
+ }
+ }
+
+ void OnDoorCanBeOpenedChanged(bool couldBeOpened, bool canBeOpened)
+ {
+ if (IsClient)
+ {
+ Debug.Log($"[Client] Door UI should be: {canBeOpened}");
+ if (gameObject.activeSelf != canBeOpened)
+ {
+ m_UI.SetActive(canBeOpened);
+ }
+ }
+ }
+
+ [ServerRpc(RequireOwnership = false)]
+ void OnServerOpenServerRpc()
+ {
+ OnServerOpenDoor();
+ }
+
+ void OnServerOpenDoor()
+ {
+ if (IsOpen.Value)
+ {
+ return;
+ }
+ Debug.Log("[Server] Opening door");
+ IsOpen.Value = true;
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameplayObjects/SwitchedDoor.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameplayObjects/SwitchedDoor.cs.meta
new file mode 100644
index 000000000..bd3d3c989
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/GameplayObjects/SwitchedDoor.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: ad6052574cd80ab4a940feee78103150
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Models.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Models.meta
new file mode 100644
index 000000000..b1e529fe6
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Models.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d58c864ea35aaa24c9740885c77b9868
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Models/GameModel.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Models/GameModel.cs
new file mode 100644
index 000000000..3a651ab47
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Models/GameModel.cs
@@ -0,0 +1,24 @@
+using Unity.Netcode;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Main model of the
+ ///
+ public class GameModel : Model
+ {
+ [SerializeField]
+ NetworkedGameState m_NetworkedGameState;
+
+ public NetworkedGameState NetworkedGameState => m_NetworkedGameState;
+
+ public NetworkVariable Countdown => m_NetworkedGameState.matchCountdown;
+
+ public NetworkVariable PlayersConnected => m_NetworkedGameState.playersConnected;
+
+ public bool MenuVisible { get; set; } = false;
+
+ public ClientPlayerCharacter PlayerCharacter { get; set; }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Models/GameModel.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Models/GameModel.cs.meta
new file mode 100644
index 000000000..1a568b276
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Models/GameModel.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ea353653657b423409b67c735679262d
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/NetworkedGameState.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/NetworkedGameState.cs
new file mode 100644
index 000000000..f7f685e74
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/NetworkedGameState.cs
@@ -0,0 +1,124 @@
+using System;
+using System.Collections;
+using Unity.DedicatedGameServerSample.Runtime.ApplicationLifecycle;
+using Unity.DedicatedGameServerSample.Runtime.ConnectionManagement;
+using Unity.Netcode;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Holds the logical state of a game and synchronizes it across the network
+ ///
+ public class NetworkedGameState : NetworkBehaviour
+ {
+ internal NetworkVariable matchCountdown = new NetworkVariable();
+ internal NetworkVariable playersConnected = new NetworkVariable();
+ bool m_MatchStarted;
+ bool m_MatchEnded;
+
+ internal event Action OnMatchStarted;
+ internal event Action OnMatchEnded;
+
+
+ const uint k_CountdownStartValue = 300;
+ const float k_ShutdownDelayAfterCountdownEnd = 30;
+
+ Coroutine m_CountdownRoutine;
+
+ ConnectionManager ConnectionManager => ApplicationEntryPoint.Singleton.ConnectionManager;
+
+ public override void OnNetworkSpawn()
+ {
+ base.OnNetworkSpawn();
+ if (IsServer)
+ {
+ m_MatchEnded = false;
+ ConnectionManager.EventManager.AddListener(OnServerMinNumberPlayersConnected);
+ ConnectionManager.EventManager.AddListener(OnServerClientConnected);
+ ConnectionManager.EventManager.AddListener(OnServerClientDisconnected);
+ playersConnected.Value = NetworkManager.ConnectedClientsIds.Count;
+ }
+ }
+
+ public override void OnNetworkDespawn()
+ {
+ if (IsServer)
+ {
+ if (m_CountdownRoutine != null)
+ {
+ StopCoroutine(m_CountdownRoutine);
+ m_CountdownRoutine = null;
+ }
+ ConnectionManager.EventManager.RemoveListener(OnServerMinNumberPlayersConnected);
+ ConnectionManager.EventManager.RemoveListener(OnServerClientConnected);
+ ConnectionManager.EventManager.RemoveListener(OnServerClientDisconnected);
+ }
+ }
+
+ void OnServerMinNumberPlayersConnected(MinNumberPlayersConnectedEvent evt)
+ {
+ if (m_MatchStarted)
+ {
+ throw new Exception("[Server] Match has already started and received an unexpected MinNumberPlayersConnectedEvent");
+ }
+ Debug.Log("[Server] Starting match!");
+ m_MatchStarted = true;
+ OnServerStartCountdown();
+ StartMatchClientRpc();
+ OnMatchStarted?.Invoke();
+ }
+
+ void OnServerClientConnected(ClientConnectedEvent evt)
+ {
+ playersConnected.Value = NetworkManager.ConnectedClientsIds.Count;
+ }
+
+ void OnServerClientDisconnected(ClientDisconnectedEvent evt)
+ {
+ playersConnected.Value = NetworkManager.ConnectedClientsIds.Count;
+ }
+
+ void OnServerStartCountdown()
+ {
+ matchCountdown.Value = k_CountdownStartValue;
+ m_CountdownRoutine = StartCoroutine(OnServerDoCountdown());
+ }
+
+ [ClientRpc]
+ void StartMatchClientRpc()
+ {
+ OnMatchStarted?.Invoke();
+ }
+
+ IEnumerator OnServerDoCountdown()
+ {
+ while (matchCountdown.Value > 0
+ && !m_MatchEnded)
+ {
+ yield return CoroutinesHelper.OneSecond;
+ matchCountdown.Value--;
+ }
+ OnServerCountdownExpired();
+ }
+
+ void OnServerCountdownExpired()
+ {
+ m_MatchEnded = true;
+ if (m_CountdownRoutine != null)
+ {
+ StopCoroutine(m_CountdownRoutine);
+ m_CountdownRoutine = null;
+ }
+
+ EndMatchClientRpc();
+ StartCoroutine(CoroutinesHelper.WaitAndDo(new WaitForSeconds(k_ShutdownDelayAfterCountdownEnd), () => ConnectionManager.RequestShutdown()));
+ }
+
+ [ClientRpc]
+ void EndMatchClientRpc()
+ {
+ OnMatchEnded?.Invoke();
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/NetworkedGameState.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/NetworkedGameState.cs.meta
new file mode 100644
index 000000000..40d8a1cb2
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/NetworkedGameState.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c49e45af4320b1741be4c52adf9aef91
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views.meta
new file mode 100644
index 000000000..24e09b733
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bedadcd3f67a8a0479a0eabbd7871801
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/GameMenuView.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/GameMenuView.cs
new file mode 100644
index 000000000..12c72f70d
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/GameMenuView.cs
@@ -0,0 +1,42 @@
+using System;
+using UnityEngine.UIElements;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ internal class GameMenuView : View
+ {
+ Button m_ResumeButton;
+ Button m_QuitButton;
+ UIDocument m_UIDocument;
+
+ void Awake()
+ {
+ m_UIDocument = GetComponent();
+ }
+
+ void OnEnable()
+ {
+ var root = m_UIDocument.rootVisualElement;
+ m_ResumeButton = root.Q("resumeButton");
+ m_ResumeButton.RegisterCallback(OnClickResume);
+ m_QuitButton = root.Q("quitButton");
+ m_QuitButton.RegisterCallback(OnClickQuit);
+ }
+
+ void OnDisable()
+ {
+ m_ResumeButton.UnregisterCallback(OnClickResume);
+ m_QuitButton.UnregisterCallback(OnClickQuit);
+ }
+
+ void OnClickResume(ClickEvent evt)
+ {
+ Broadcast(new ResumeButtonClickedEvent());
+ }
+
+ void OnClickQuit(ClickEvent evt)
+ {
+ Broadcast(new QuitButtonClickedEvent());
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/GameMenuView.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/GameMenuView.cs.meta
new file mode 100644
index 000000000..c8475d218
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/GameMenuView.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 96303d2e55be47b468191628fe6b95ba
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/GameView.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/GameView.cs
new file mode 100644
index 000000000..5dcc25b2a
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/GameView.cs
@@ -0,0 +1,25 @@
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Main View of the
+ ///
+ public class GameView : View
+ {
+ internal MatchView Match => m_MatchView;
+
+ [SerializeField]
+ MatchView m_MatchView;
+
+ internal GameMenuView Menu => m_GameMenuView;
+
+ [SerializeField]
+ GameMenuView m_GameMenuView;
+
+ internal MatchRecapView MatchRecap => m_MatchRecapView;
+
+ [SerializeField]
+ MatchRecapView m_MatchRecapView;
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/GameView.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/GameView.cs.meta
new file mode 100644
index 000000000..7fa680e60
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/GameView.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d4ac130a1d9f82d42832e3364e8f1c60
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/MatchRecapView.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/MatchRecapView.cs
new file mode 100644
index 000000000..34c5d18e1
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/MatchRecapView.cs
@@ -0,0 +1,42 @@
+using UnityEngine.UIElements;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ internal class MatchRecapView : View
+ {
+ Button m_ContinueButton;
+ Label m_ResultLabel;
+ UIDocument m_UIDocument;
+
+ void Awake()
+ {
+ m_UIDocument = GetComponent();
+ }
+
+ void OnEnable()
+ {
+ var root = m_UIDocument.rootVisualElement;
+ m_ContinueButton = root.Q("continueButton");
+ m_ContinueButton.RegisterCallback(OnClickContinue);
+
+ m_ResultLabel = root.Query("resultLabel");
+ }
+
+ void OnDisable()
+ {
+ m_ContinueButton.UnregisterCallback(OnClickContinue);
+ }
+
+ internal void OnClientEndMatch(EndMatchEvent evt)
+ {
+ gameObject.SetActive(true);
+ m_ResultLabel.text = "Game Over!";
+ }
+
+ void OnClickContinue(ClickEvent evt)
+ {
+ gameObject.SetActive(false);
+ Broadcast(new MatchEndAcknowledgedEvent());
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/MatchRecapView.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/MatchRecapView.cs.meta
new file mode 100644
index 000000000..a3b2b607e
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/MatchRecapView.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ffc5ce18e77c2b34ea655c7f5cc75da3
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/MatchView.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/MatchView.cs
new file mode 100644
index 000000000..269da8a9f
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/MatchView.cs
@@ -0,0 +1,34 @@
+using System;
+using UnityEngine.UIElements;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ internal class MatchView : View
+ {
+ UIDocument m_UIDocument;
+ Label m_TimerLabel;
+ Label m_PlayersConnectedLabel;
+
+ void Awake()
+ {
+ m_UIDocument = GetComponent();
+ }
+
+ void OnEnable()
+ {
+ var root = m_UIDocument.rootVisualElement;
+ m_TimerLabel = root.Query("timerLabel");
+ m_PlayersConnectedLabel = root.Query("playersConnectedLabel");
+ }
+
+ internal void OnCountdownChanged(uint newValue)
+ {
+ m_TimerLabel.text = string.Format("{0:D2}:{1:D2}", newValue / 60, newValue % 60);
+ }
+
+ internal void OnPlayersConnectedChanged(int newValue)
+ {
+ m_PlayersConnectedLabel.text = $"Players connected: {newValue}";
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/MatchView.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/MatchView.cs.meta
new file mode 100644
index 000000000..f58dbbf19
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Game/Views/MatchView.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: aedc21ba435348e48851c5b98d981f30
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame.meta
new file mode 100644
index 000000000..9925dae3b
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 951da1061e630ea47b2f1dede1ef7960
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers.meta
new file mode 100644
index 000000000..b15042ce4
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7139260adc668da4b9625a0a07a21848
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/ClientConnectingController.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/ClientConnectingController.cs
new file mode 100644
index 000000000..680cdc4da
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/ClientConnectingController.cs
@@ -0,0 +1,57 @@
+using System;
+using Unity.DedicatedGameServerSample.Runtime.ApplicationLifecycle;
+using Unity.DedicatedGameServerSample.Runtime.ConnectionManagement;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ public class ClientConnectingController : Controller
+ {
+ ClientConnectingView View => App.View.ClientConnecting;
+ ConnectionManager ConnectionManager => ApplicationEntryPoint.Singleton.ConnectionManager;
+
+ void Awake()
+ {
+ ConnectionManager.EventManager.AddListener(OnConnectionEvent);
+ AddListener(OnCancelConnection);
+ }
+
+ void OnDestroy()
+ {
+ RemoveListeners();
+ }
+
+ internal override void RemoveListeners()
+ {
+ ConnectionManager.EventManager.RemoveListener(OnConnectionEvent);
+ RemoveListener(OnCancelConnection);
+ }
+
+ void OnConnectionEvent(ConnectionEvent evt)
+ {
+ switch (evt.status)
+ {
+ case ConnectStatus.Connecting:
+ App.Model.ClientConnecting.InitializeTimer();
+ View.Show();
+ break;
+ case ConnectStatus.Success:
+ case ConnectStatus.ServerFull:
+ case ConnectStatus.IncompatibleVersions:
+ case ConnectStatus.UserRequestedDisconnect:
+ case ConnectStatus.GenericDisconnect:
+ case ConnectStatus.ServerEndedSession:
+ case ConnectStatus.StartClientFailed:
+ View.Hide();
+ break;
+ default:
+ throw new ArgumentOutOfRangeException(); // other statuses should not be received here
+ }
+ }
+
+ void OnCancelConnection(CancelConnectionEvent evt)
+ {
+ ConnectionManager.RequestShutdown();
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/ClientConnectingController.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/ClientConnectingController.cs.meta
new file mode 100644
index 000000000..0dc53768d
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/ClientConnectingController.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 3b80950ff804422b9176a6ed7e8f0b36
+timeCreated: 1691519393
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/DirectIPController.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/DirectIPController.cs
new file mode 100644
index 000000000..0ef49e571
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/DirectIPController.cs
@@ -0,0 +1,57 @@
+using System;
+using Unity.DedicatedGameServerSample.Runtime.ApplicationLifecycle;
+using Unity.DedicatedGameServerSample.Runtime.ConnectionManagement;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ internal class DirectIPController : Controller
+ {
+ DirectIPView View => App.View.DirectIP;
+ ConnectionManager ConnectionManager => ApplicationEntryPoint.Singleton.ConnectionManager;
+
+ void Awake()
+ {
+ AddListener(OnEnterIPConnection);
+ AddListener(OnExitIPConnection);
+ AddListener(OnJoinGame);
+ ConnectionManager.EventManager.AddListener(OnConnectionEvent);
+ }
+
+ void OnDestroy()
+ {
+ RemoveListeners();
+ }
+
+ internal override void RemoveListeners()
+ {
+ RemoveListener(OnEnterIPConnection);
+ RemoveListener(OnExitIPConnection);
+ RemoveListener(OnJoinGame);
+ ConnectionManager.EventManager.RemoveListener(OnConnectionEvent);
+ }
+
+ void OnEnterIPConnection(EnterIPConnectionEvent evt)
+ {
+ View.Show();
+ }
+
+ void OnExitIPConnection(ExitIPConnectionEvent evt)
+ {
+ View.Hide();
+ }
+
+ void OnJoinGame(JoinThroughDirectIPEvent evt)
+ {
+ ConnectionManager.StartClient(evt.ipAddress, evt.port);
+ }
+
+ void OnConnectionEvent(ConnectionEvent evt)
+ {
+ if (evt.status == ConnectStatus.Connecting)
+ {
+ View.Hide();
+ }
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/DirectIPController.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/DirectIPController.cs.meta
new file mode 100644
index 000000000..25111b89a
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/DirectIPController.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 98e0a841379c449d8ac2492b60112ec7
+timeCreated: 1691171184
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/MainMenuController.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/MainMenuController.cs
new file mode 100644
index 000000000..121b92a78
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/MainMenuController.cs
@@ -0,0 +1,72 @@
+using System;
+using Unity.DedicatedGameServerSample.Runtime.ApplicationLifecycle;
+using Unity.DedicatedGameServerSample.Runtime.ConnectionManagement;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ internal class MainMenuController : Controller
+ {
+ MainMenuView View => App.View.MainMenu;
+ ConnectionManager ConnectionManager => ApplicationEntryPoint.Singleton.ConnectionManager;
+
+ void Awake()
+ {
+ AddListener(OnEnterMatchmakerQueue);
+ AddListener(OnExitMatchmakerQueue);
+ AddListener(OnEnterIPConnection);
+ AddListener(OnExitIPConnection);
+ ConnectionManager.EventManager.AddListener(OnConnectionEvent);
+ }
+
+ void OnDestroy()
+ {
+ RemoveListeners();
+ }
+
+ internal override void RemoveListeners()
+ {
+ RemoveListener(OnEnterMatchmakerQueue);
+ RemoveListener(OnExitMatchmakerQueue);
+ RemoveListener(OnEnterIPConnection);
+ RemoveListener(OnExitIPConnection);
+ ConnectionManager.EventManager.RemoveListener(OnConnectionEvent);
+ }
+
+ void OnEnterMatchmakerQueue(EnterMatchmakerQueueEvent evt)
+ {
+ View.Hide();
+ }
+
+ void OnExitMatchmakerQueue(ExitMatchmakerQueueEvent evt)
+ {
+ View.Show();
+ }
+
+ void OnEnterIPConnection(EnterIPConnectionEvent evt)
+ {
+ View.Hide();
+ }
+
+ void OnExitIPConnection(ExitIPConnectionEvent evt)
+ {
+ View.Show();
+ }
+
+ void OnConnectionEvent(ConnectionEvent evt)
+ {
+ switch (evt.status)
+ {
+ case ConnectStatus.Success:
+ case ConnectStatus.ServerFull:
+ case ConnectStatus.IncompatibleVersions:
+ case ConnectStatus.UserRequestedDisconnect:
+ case ConnectStatus.GenericDisconnect:
+ case ConnectStatus.ServerEndedSession:
+ case ConnectStatus.StartClientFailed:
+ View.Show();
+ break;
+ }
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/MainMenuController.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/MainMenuController.cs.meta
new file mode 100644
index 000000000..bfd8449a1
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/MainMenuController.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8fc23f9f6337cad4a8236948ddddc96c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/MatchmakerController.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/MatchmakerController.cs
new file mode 100644
index 000000000..41e2fee35
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/MatchmakerController.cs
@@ -0,0 +1,106 @@
+using System;
+using Unity.DedicatedGameServerSample.Runtime.ApplicationLifecycle;
+using Unity.DedicatedGameServerSample.Runtime.ConnectionManagement;
+using Unity.Services.Matchmaker.Models;
+using UnityEngine;
+using static Unity.Services.Matchmaker.Models.MultiplayAssignment;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ internal class MatchmakerController : Controller
+ {
+ MatchmakerView View => App.View.Matchmaker;
+ ConnectionManager ConnectionManager => ApplicationEntryPoint.Singleton.ConnectionManager;
+
+ void Awake()
+ {
+ AddListener(OnEnterMatchmakerQueue);
+ AddListener(OnExitMatchmakerQueue);
+ ConnectionManager.EventManager.AddListener(OnConnectionEvent);
+ }
+
+ void OnDestroy()
+ {
+ RemoveListeners();
+ }
+
+ void OnApplicationQuit()
+ {
+ StopMatchmaker();
+ }
+
+ internal override void RemoveListeners()
+ {
+ RemoveListener(OnEnterMatchmakerQueue);
+ RemoveListener(OnExitMatchmakerQueue);
+ ConnectionManager.EventManager.RemoveListener(OnConnectionEvent);
+ }
+
+ void OnEnterMatchmakerQueue(EnterMatchmakerQueueEvent evt)
+ {
+ View.Show();
+ UnityServicesInitializer.Instance.Matchmaker.FindMatch(evt.QueueName, OnMatchSearchCompleted, View.UpdateTimer);
+ }
+
+ void OnExitMatchmakerQueue(ExitMatchmakerQueueEvent evt)
+ {
+ StopMatchmaker();
+ View.Hide();
+ }
+
+ void OnConnectionEvent(ConnectionEvent evt)
+ {
+ if (evt.status == ConnectStatus.Connecting)
+ {
+ View.Hide();
+ }
+ }
+
+ void OnMatchSearchCompleted(MultiplayAssignment assignment)
+ {
+ var error = string.Empty;
+ if (assignment == null)
+ {
+ error = "The matchmaker request is invalid, please try again to find a match.";
+ }
+ else
+ {
+ switch (assignment.Status)
+ {
+ case StatusOptions.Found:
+ Debug.Log("Match found!");
+
+ //todo investigate why assignment.Port is of type Nullable
+ ConnectionManager.StartClient(assignment.Ip, (ushort) assignment.Port.Value);
+ break;
+ case StatusOptions.Failed:
+ error = $"Failed to get ticket status. See logged exception for more details: {assignment.Message}";
+ break;
+ case StatusOptions.Timeout:
+ //note: this is a good spot where to plug-in a fake pvp matchmaking logic that redirects the player to a PvE game
+ error = "Could not find enough players in a reasonable amount of times";
+ break;
+ default:
+ throw new InvalidOperationException("Assignment status was a value other than 'In Progress', 'Found', 'Timeout' or 'Failed'! " +
+ $"Mismatch between Matchmaker SDK expected responses and service API values! Status value: '{assignment.Status}'");
+ }
+ }
+
+ if (!string.IsNullOrEmpty(error))
+ {
+ Debug.LogError(error);
+ Broadcast(new ExitMatchmakerQueueEvent());
+ }
+ }
+
+ void StopMatchmaker()
+ {
+ if (UnityServicesInitializer.Instance.Matchmaker)
+ {
+#pragma warning disable CS4014 // Can't await, so the method execution will continue
+ UnityServicesInitializer.Instance.Matchmaker.StopSearch();
+#pragma warning restore CS4014 // Can't await, so the method execution will continue
+ }
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/MatchmakerController.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/MatchmakerController.cs.meta
new file mode 100644
index 000000000..1d4dba404
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/MatchmakerController.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 44125658f58025d409b0c38166476541
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/MetagameController.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/MetagameController.cs
new file mode 100644
index 000000000..07c68bca8
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/MetagameController.cs
@@ -0,0 +1,52 @@
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Main controller of the
+ ///
+ public class MetagameController : Controller
+ {
+ void Awake()
+ {
+ AddListener(OnPlayerSignedIn);
+ AddListener(OnMatchEntered);
+ }
+
+ void OnDestroy()
+ {
+ RemoveListeners();
+ }
+
+ internal override void RemoveListeners()
+ {
+ RemoveListener(OnPlayerSignedIn);
+ RemoveListener(OnMatchEntered);
+ }
+
+ void OnPlayerSignedIn(PlayerSignedIn evt)
+ {
+ if (evt.Success)
+ {
+ Debug.Log($"Player signed in with id {evt.PlayerId}");
+ }
+ else
+ {
+ Debug.Log("Player did not sign in");
+ }
+ }
+
+ void OnMatchEntered(MatchEnteredEvent evt)
+ {
+ DisableViewsAndListeners();
+ }
+
+ void DisableViewsAndListeners()
+ {
+ for (int i = 0; i < App.View.transform.childCount; i++)
+ {
+ App.View.transform.GetChild(i).gameObject.SetActive(false);
+ }
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/MetagameController.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/MetagameController.cs.meta
new file mode 100644
index 000000000..482673863
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Controllers/MetagameController.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0d0b0ffdc3efbd34392740949cfcd89e
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/MetagameApplication.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/MetagameApplication.cs
new file mode 100644
index 000000000..5a7ebff94
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/MetagameApplication.cs
@@ -0,0 +1,18 @@
+using System;
+using Unity.Netcode;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// The application that manages the Metagame
+ ///
+ public class MetagameApplication : BaseApplication
+ {
+ internal new static MetagameApplication Instance { get; private set; }
+ protected override void Awake()
+ {
+ base.Awake();
+ Instance = this;
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/MetagameApplication.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/MetagameApplication.cs.meta
new file mode 100644
index 000000000..9749d0776
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/MetagameApplication.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d1ce44d2abf9817409a32baacb52e8b8
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/MetagameEvents.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/MetagameEvents.cs
new file mode 100644
index 000000000..8c3623bd4
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/MetagameEvents.cs
@@ -0,0 +1,43 @@
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ internal class EnterMatchmakerQueueEvent : AppEvent
+ {
+ public string QueueName { get; private set; }
+
+ public EnterMatchmakerQueueEvent(string queueName)
+ {
+ QueueName = queueName;
+ }
+ }
+
+ internal class ExitMatchmakerQueueEvent : AppEvent { }
+
+ internal class EnterIPConnectionEvent : AppEvent { }
+
+ internal class ExitIPConnectionEvent : AppEvent { }
+
+ internal class JoinThroughDirectIPEvent : AppEvent
+ {
+ public string ipAddress;
+ public ushort port;
+ }
+
+ internal class CancelConnectionEvent: AppEvent { }
+
+ ///
+ /// Called when a match is entered (I.E: after matchmaking finds enough players)
+ ///
+ internal class MatchEnteredEvent : AppEvent { }
+
+ internal class PlayerSignedIn : AppEvent
+ {
+ public bool Success { get; private set; }
+ public string PlayerId { get; private set; }
+
+ public PlayerSignedIn(bool success, string playerId)
+ {
+ Success = success;
+ PlayerId = playerId;
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/MetagameEvents.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/MetagameEvents.cs.meta
new file mode 100644
index 000000000..c7dbbc68e
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/MetagameEvents.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f2922ee8b81c5d74991a741ef98b80c3
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Models.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Models.meta
new file mode 100644
index 000000000..6a1963fb2
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Models.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 61d71941c276b2943b93ec7a16d0c776
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Models/ClientConnectingModel.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Models/ClientConnectingModel.cs
new file mode 100644
index 000000000..ee937129a
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Models/ClientConnectingModel.cs
@@ -0,0 +1,20 @@
+using System;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ public class ClientConnectingModel : Model
+ {
+ public float ElapsedTime { get; private set; }
+
+ void Update()
+ {
+ ElapsedTime += Time.deltaTime;
+ }
+
+ public void InitializeTimer()
+ {
+ ElapsedTime = 0;
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Models/ClientConnectingModel.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Models/ClientConnectingModel.cs.meta
new file mode 100644
index 000000000..8202b34e0
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Models/ClientConnectingModel.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: f97b6f0877a6436a9142a1be40a5693c
+timeCreated: 1691519949
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Models/MetagameModel.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Models/MetagameModel.cs
new file mode 100644
index 000000000..dac0e6a52
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Models/MetagameModel.cs
@@ -0,0 +1,15 @@
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Main Model of the
+ ///
+ public class MetagameModel : Model
+ {
+ internal ClientConnectingModel ClientConnecting => m_ClientConnectingModel;
+
+ [SerializeField]
+ ClientConnectingModel m_ClientConnectingModel;
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Models/MetagameModel.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Models/MetagameModel.cs.meta
new file mode 100644
index 000000000..27a116e6f
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Models/MetagameModel.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 60c52feeb337d164f87e4a6d3062c0c1
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views.meta
new file mode 100644
index 000000000..861df4d64
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 48e91e53e2a280e4eb326d672c25b529
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/ClientConnectingView.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/ClientConnectingView.cs
new file mode 100644
index 000000000..b91a7642f
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/ClientConnectingView.cs
@@ -0,0 +1,41 @@
+using System;
+using UnityEngine.UIElements;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ public class ClientConnectingView : View
+ {
+ Button m_QuitButton;
+ Label m_TimerLabel;
+ UIDocument m_UIDocument;
+
+ void Awake()
+ {
+ m_UIDocument = GetComponent();
+ }
+
+ void OnEnable()
+ {
+ var root = m_UIDocument.rootVisualElement;
+ m_QuitButton = root.Q("quitButton");
+ m_TimerLabel = root.Query("timerLabel");
+ m_QuitButton.RegisterCallback(OnClickQuit);
+ }
+
+ void OnDisable()
+ {
+ m_QuitButton.UnregisterCallback(OnClickQuit);
+ }
+
+ void OnClickQuit(ClickEvent evt)
+ {
+ Broadcast(new CancelConnectionEvent());
+ }
+
+ void Update()
+ {
+ var elapsedTime = TimeSpan.FromSeconds(App.Model.ClientConnecting.ElapsedTime);
+ m_TimerLabel.text = ($"{elapsedTime.Minutes:D2}:{elapsedTime.Seconds:D2}");
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/ClientConnectingView.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/ClientConnectingView.cs.meta
new file mode 100644
index 000000000..e82a0b5c4
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/ClientConnectingView.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: d66e014b106e43de84422510776e47b7
+timeCreated: 1691519164
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/DirectIPView.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/DirectIPView.cs
new file mode 100644
index 000000000..39310b2d6
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/DirectIPView.cs
@@ -0,0 +1,86 @@
+using System.Text.RegularExpressions;
+using UnityEngine.UIElements;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ internal class DirectIPView : View
+ {
+ Button m_JoinButton;
+ Button m_QuitButton;
+ TextField m_IPTextField;
+ TextField m_PortTextField;
+ UIDocument m_UIDocument;
+
+ void Awake()
+ {
+ m_UIDocument = GetComponent();
+ }
+
+ void OnEnable()
+ {
+ var root = m_UIDocument.rootVisualElement;
+ m_JoinButton = root.Q("joinButton");
+ m_QuitButton = root.Q("quitButton");
+ m_IPTextField = root.Q("ipAddressTextField");
+ m_PortTextField = root.Q("portTextField");;
+ m_JoinButton.RegisterCallback(OnClickJoin);
+ m_QuitButton.RegisterCallback(OnClickQuit);
+ m_IPTextField.RegisterValueChangedCallback(OnIpAddressChanged);
+ m_PortTextField.RegisterValueChangedCallback(OnPortChanged);
+ }
+
+ void OnDisable()
+ {
+ m_JoinButton.UnregisterCallback(OnClickJoin);
+ m_QuitButton.UnregisterCallback(OnClickQuit);
+ m_IPTextField.UnregisterValueChangedCallback(OnIpAddressChanged);
+ m_PortTextField.UnregisterValueChangedCallback(OnPortChanged);
+ }
+
+ void OnIpAddressChanged(ChangeEvent ipAddress)
+ {
+ SanitizeAndSetIpAddress(ipAddress.newValue);
+ }
+
+ void OnPortChanged(ChangeEvent port)
+ {
+ SanitizeAndSetPort(port.newValue);
+ }
+
+ void SanitizeAndSetIpAddress(string ipAddressToSanitize)
+ {
+ var ipAddress = Sanitize(ipAddressToSanitize);
+ m_IPTextField.value = ipAddress;
+ }
+
+ void SanitizeAndSetPort(string portToSanitize)
+ {
+ var sanitizedPort = Sanitize(portToSanitize);
+ ushort.TryParse(sanitizedPort, out var parsedPort);
+ m_PortTextField.value = parsedPort.ToString();
+ }
+
+ ///
+ /// Sanitize user port InputField box allowing only alphanumerics and '.'
+ ///
+ /// string to sanitize.
+ /// Sanitized text string.
+ string Sanitize(string stringToBeSanitized)
+ {
+ return Regex.Replace(stringToBeSanitized, "[^A-Za-z0-9.]", "");
+ }
+
+ void OnClickQuit(ClickEvent evt)
+ {
+ Broadcast(new ExitIPConnectionEvent());
+ }
+
+ void OnClickJoin(ClickEvent evt)
+ {
+ if (ushort.TryParse(m_PortTextField.value, out var port))
+ {
+ Broadcast(new JoinThroughDirectIPEvent { ipAddress = m_IPTextField.value, port = port });
+ }
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/DirectIPView.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/DirectIPView.cs.meta
new file mode 100644
index 000000000..d58947269
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/DirectIPView.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 4e6f362afa5c4e848b4d0a41c0db4bc6
+timeCreated: 1691171195
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/MainMenuView.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/MainMenuView.cs
new file mode 100644
index 000000000..1ef786957
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/MainMenuView.cs
@@ -0,0 +1,59 @@
+using UnityEngine.UIElements;
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ internal class MainMenuView : View
+ {
+ Button m_FindMatchButton;
+ Button m_JoinDirectIPButton;
+ Button m_QuitButton;
+ Label m_TitleLabel;
+ UIDocument m_UIDocument;
+
+ void Awake()
+ {
+ m_UIDocument = GetComponent();
+ }
+
+ void OnEnable()
+ {
+ var root = m_UIDocument.rootVisualElement;
+ m_FindMatchButton = root.Q("findMatchButton");
+ m_FindMatchButton.RegisterCallback(OnClickFindMatch);
+
+ m_JoinDirectIPButton = root.Q("joinDirectIPButton");
+ m_JoinDirectIPButton.RegisterCallback(OnClickJoinDirectIP);
+
+ m_QuitButton = root.Q("quitButton");
+ m_QuitButton.RegisterCallback(OnClickQuit);
+
+ m_TitleLabel = root.Query("titleLabel");
+ m_TitleLabel.text = "Game title";
+ }
+
+ void OnDisable()
+ {
+ m_FindMatchButton.UnregisterCallback(OnClickFindMatch);
+ m_QuitButton.UnregisterCallback(OnClickQuit);
+ m_JoinDirectIPButton.UnregisterCallback(OnClickJoinDirectIP);
+ }
+
+ void OnClickFindMatch(ClickEvent evt)
+ {
+ Broadcast(new EnterMatchmakerQueueEvent("Queue01"));
+ }
+
+ void OnClickJoinDirectIP(ClickEvent evt)
+ {
+ Broadcast(new EnterIPConnectionEvent());
+ }
+
+ void OnClickQuit(ClickEvent evt)
+ {
+#if UNITY_EDITOR
+ UnityEditor.EditorApplication.isPlaying = false;
+#else
+ UnityEngine.Application.Quit();
+#endif
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/MainMenuView.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/MainMenuView.cs.meta
new file mode 100644
index 000000000..e7f93f1e6
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/MainMenuView.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bb7a90aa8e63a234bbc2146f79845532
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/MatchmakerView.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/MatchmakerView.cs
new file mode 100644
index 000000000..7ef566f5b
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/MatchmakerView.cs
@@ -0,0 +1,40 @@
+using System;
+using UnityEngine.UIElements;
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ internal class MatchmakerView : View
+ {
+ Button m_QuitButton;
+ Label m_TimerLabel;
+ UIDocument m_UIDocument;
+
+ void Awake()
+ {
+ m_UIDocument = GetComponent();
+ }
+
+ void OnEnable()
+ {
+ var root = m_UIDocument.rootVisualElement;
+ m_QuitButton = root.Q("quitButton");
+ m_TimerLabel = root.Query("timerLabel");
+ m_QuitButton.RegisterCallback(OnClickQuit);
+ }
+
+ void OnDisable()
+ {
+ m_QuitButton.UnregisterCallback(OnClickQuit);
+ }
+
+ void OnClickQuit(ClickEvent evt)
+ {
+ Broadcast(new ExitMatchmakerQueueEvent());
+ }
+
+ internal void UpdateTimer(int elapsedSeconds)
+ {
+ TimeSpan elapsedTime = TimeSpan.FromSeconds(elapsedSeconds);
+ m_TimerLabel.text = (string.Format("{0:D2}:{1:D2}", elapsedTime.Minutes, elapsedTime.Seconds));
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/MatchmakerView.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/MatchmakerView.cs.meta
new file mode 100644
index 000000000..8bbe71f54
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/MatchmakerView.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9c6c5a57b87233a4b93095dd4816d07f
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/MetagameView.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/MetagameView.cs
new file mode 100644
index 000000000..b6d783994
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/MetagameView.cs
@@ -0,0 +1,30 @@
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Main view of the
+ ///
+ public class MetagameView : View
+ {
+ internal MainMenuView MainMenu => m_MainMenuView;
+
+ [SerializeField]
+ MainMenuView m_MainMenuView;
+
+ internal MatchmakerView Matchmaker => m_MatchmakerView;
+
+ [SerializeField]
+ MatchmakerView m_MatchmakerView;
+
+ internal DirectIPView DirectIP => m_DirectIPView;
+
+ [SerializeField]
+ DirectIPView m_DirectIPView;
+
+ internal ClientConnectingView ClientConnecting => m_ClientConnectingView;
+
+ [SerializeField]
+ ClientConnectingView m_ClientConnectingView;
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/MetagameView.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/MetagameView.cs.meta
new file mode 100644
index 000000000..fe1397c76
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Metagame/Views/MetagameView.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bd4192ef5bde4354e80648a63770995c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared.meta
new file mode 100644
index 000000000..81c521bc2
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 79f7f506fafac8840a1efabce16e3841
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/CommandLineArgumentsParser.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/CommandLineArgumentsParser.cs
new file mode 100644
index 000000000..45904d701
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/CommandLineArgumentsParser.cs
@@ -0,0 +1,73 @@
+using System;
+using System.Linq;
+using UnityEngine.DedicatedServer;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ internal class CommandLineArgumentsParser
+ {
+ public int Port { get; }
+ const int k_DefaultPort = 7777;
+ public int TargetFramerate { get; }
+ const int k_DefaultTargetFramerate = 30;
+
+ readonly string[] m_Args;
+
+ ///
+ /// Initializes the CommandLineArgumentsParser
+ ///
+ public CommandLineArgumentsParser() : this(Environment.GetCommandLineArgs()) { }
+
+ ///
+ /// Initializes the CommandLineArgumentsParser
+ ///
+ /// Arguments to process
+ public CommandLineArgumentsParser(string[] arguments)
+ {
+ m_Args = arguments;
+ if (m_Args == null) // Android fix
+ {
+ m_Args = new string[0];
+ }
+
+ Port = Arguments.Port.HasValue ? Arguments.Port.Value : k_DefaultPort;
+ TargetFramerate = Arguments.TargetFramerate.HasValue ? Arguments.TargetFramerate.Value : k_DefaultTargetFramerate;
+ }
+
+ ///
+ /// Extracts a value for command line arguments provided
+ ///
+ ///
+ ///
+ ///
+ ///
+ string ExtractValue(string argName, string defaultValue = null, bool argumentAndValueAreSeparated = true)
+ {
+ if (argumentAndValueAreSeparated)
+ {
+ if (!m_Args.Contains(argName))
+ {
+ return defaultValue;
+ }
+
+ var index = m_Args.ToList().FindIndex(0, a => a.Equals(argName));
+ return m_Args[index + 1];
+ }
+
+ foreach (var argument in m_Args)
+ {
+ if (argument.StartsWith(argName)) //I.E: "-epiclocale=it"
+ {
+ return argument.Substring(argName.Length + 1, argument.Length - argName.Length - 1);
+ }
+ }
+ return defaultValue;
+ }
+
+ int ExtractValueInt(string argName, int defaultValue = -1)
+ {
+ var number = ExtractValue(argName, defaultValue.ToString());
+ return Convert.ToInt32(number);
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/CommandLineArgumentsParser.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/CommandLineArgumentsParser.cs.meta
new file mode 100644
index 000000000..08a267ed4
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/CommandLineArgumentsParser.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b4c590c92ac0a93498a82abdea565175
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/ConfigurationManager.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/ConfigurationManager.cs
new file mode 100644
index 000000000..5d9b390c3
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/ConfigurationManager.cs
@@ -0,0 +1,175 @@
+using System.IO;
+using System.Linq;
+using Unity.DedicatedGameServerSample.Runtime.SimpleJSON;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// A configuration Manager for easily accessing dynamic configurations that alter the behaviour of the app
+ ///
+ public class ConfigurationManager
+ {
+ #region DeveloperSetupFileData
+ ///
+ /// Name of the configuration file
+ ///
+ public const string k_DevConfigFile = "startupConfiguration.json";
+
+ ///
+ /// Where the default configuration file is stored.
+ ///
+ public static readonly string k_DevConfigFileDefault = Path.Combine(Application.dataPath, Path.Combine("Resources", Path.Combine("DefaultConfigurations", k_DevConfigFile)));
+ ///
+ /// Players the server expects in a match before allowing it to start
+ ///
+ public const string k_MinPlayers = "MinPlayers";
+ ///
+ /// Maximum number of players the server expects in a match
+ ///
+ public const string k_MaxPlayers = "MaxPlayers";
+ ///
+ /// Will the game startup behaviour change according to the settings?
+ ///
+ public const string k_Autoconnect = "AutoConnect";
+ #endregion
+
+ ///
+ /// Meta-configuration file used to automate processes
+ ///
+ JSONNode m_Config;
+ string m_ConfigFilePath;
+
+ ///
+ /// Initializes the ConfigurationManager
+ ///
+ /// path of the configuration file
+ public ConfigurationManager(string configFilePath)
+ {
+ LoadConfigurationFromFile(configFilePath, true, false);
+ }
+
+ ///
+ /// Initializes the ConfigurationManager
+ ///
+ /// path of the configuration file
+ /// if true, the initialization is not performed
+ public ConfigurationManager(string configFilePath, bool keepUninitialized)
+ {
+ m_ConfigFilePath = configFilePath;
+ if (keepUninitialized)
+ {
+ return;
+ }
+ LoadConfigurationFromFile(configFilePath, true, false);
+ }
+
+ ///
+ /// Loads the configuration file
+ ///
+ /// Path of the configuration file.
+ /// If true, creates the configuration file when it doesn't exist.
+ /// If true, new default settings will be integrated in the existing configuration.
+ void LoadConfigurationFromFile(string configFilePath, bool createIfNotExists, bool updateIfOutdated)
+ {
+ m_ConfigFilePath = configFilePath;
+ string templatePath = Path.Combine("DefaultConfigurations", configFilePath.Split('.')[0]);
+ if (!File.Exists(configFilePath))
+ {
+ if (!createIfNotExists)
+ {
+ throw new FileNotFoundException($"{configFilePath} not found");
+ }
+
+ m_Config = JSONNode.Parse(Resources.Load(templatePath).text);
+ JSONUtilities.WriteJSONToFile(configFilePath, m_Config, false);
+ return;
+ }
+
+ m_Config = JSONUtilities.ReadJSONFromFile(configFilePath);
+
+ if (!updateIfOutdated)
+ {
+ return;
+ }
+
+ /*
+ * Since user settings may change between versions, we need to be sure that we update them
+ * when new ones come up.
+ */
+ JSONNode template = JSONNode.Parse(Resources.Load(templatePath).text);
+ var newSettings = template.Keys.Except(m_Config.Keys);
+ foreach (var item in newSettings)
+ {
+ m_Config[item] = template[item].Value;
+ }
+ JSONUtilities.WriteJSONToFile(configFilePath, m_Config, false);
+ }
+
+ ///
+ /// Removes a key from the configuration
+ ///
+ /// The configuration key.
+ public void Remove(string key) => m_Config.Remove(key);
+ ///
+ /// Checks if a key exists in the configuration
+ ///
+ /// The configuration key.
+ /// True if the key exists, false otherwise
+ public bool Contains(string key) => m_Config.Keys.Any(k => k == key);
+
+ ///
+ /// Sets the value of a key in the configuration
+ ///
+ /// The configuration key.
+ /// The value
+ /// value must implement ToString()
+ public void Set(string key, object value) => m_Config[key] = value.ToString();
+ ///
+ /// Gets the value of a key in the configuration
+ ///
+ /// The configuration key.
+ /// the value of the string in the configuration, as string
+ public string GetString(string key) => m_Config[key].Value;
+ ///
+ /// Gets the value of a key in the configuration
+ ///
+ /// The configuration key.
+ /// the value of the string in the configuration, as bool
+ public bool GetBool(string key) => m_Config[key].AsBool;
+ ///
+ /// Gets the value of a key in the configuration
+ ///
+ /// The configuration key.
+ /// the value of the string in the configuration, as int
+ public int GetInt(string key) => m_Config[key].AsInt;
+ ///
+ /// Gets the value of a key in the configuration
+ ///
+ /// The configuration key.
+ /// the value of the string in the configuration, as float
+ public float GetFloat(string key) => m_Config[key].AsFloat;
+ ///
+ /// Saves the confiuration as a JSON file
+ ///
+ /// If true, the JSON is saved as a one-liner
+ public void SaveAsJSON(bool singleLine)
+ {
+ SaveAsJSON(m_ConfigFilePath, singleLine);
+ }
+
+ void SaveAsJSON(string path, bool singleLine)
+ {
+ JSONUtilities.WriteJSONToFile(path, m_Config, singleLine);
+ }
+
+ ///
+ /// Overwrites the existing configuration with a new one
+ ///
+ /// The new configuration to use
+ public void Overwrite(JSONNode newConfiguration)
+ {
+ m_Config = JSONNode.Parse(newConfiguration.ToString());
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/ConfigurationManager.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/ConfigurationManager.cs.meta
new file mode 100644
index 000000000..71c3838ea
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/ConfigurationManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bc9a55644bc24514097fa45cf4559105
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/CoroutinesHelper.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/CoroutinesHelper.cs
new file mode 100644
index 000000000..b388b0e73
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/CoroutinesHelper.cs
@@ -0,0 +1,72 @@
+using System.Collections;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// A collection of Coroutines Helpers
+ ///
+ internal static class CoroutinesHelper
+ {
+ /*
+ usage: yield return CoroutinesHelper.OneSecond;
+ This is better than : yield return new waitforseconds(1);
+ because: it doesn't generate garbage.
+ */
+ public static readonly WaitForSeconds PointZeroOneSeconds = new WaitForSeconds(0.01f);
+ public static readonly WaitForSeconds PointZeroFiveSeconds = new WaitForSeconds(0.05f);
+ public static readonly WaitForSeconds PointOneSeconds = new WaitForSeconds(0.1f);
+ public static readonly WaitForSeconds PointTwoSeconds = new WaitForSeconds(0.2f);
+ public static readonly WaitForSeconds PointThreeSeconds = new WaitForSeconds(0.3f);
+ public static readonly WaitForSeconds PointFiveSeconds = new WaitForSeconds(0.5f);
+ public static readonly WaitForSeconds PointSevenSeconds = new WaitForSeconds(0.7f);
+ public static readonly WaitForSeconds PointSevenFiveSeconds = new WaitForSeconds(0.75f);
+ public static readonly WaitForSeconds OneSecond = new WaitForSeconds(1);
+ public static readonly WaitForSeconds OnePointFiveSeconds = new WaitForSeconds(1.5f);
+ public static readonly WaitForSeconds TwoSeconds = new WaitForSeconds(2);
+ public static readonly WaitForSeconds ThreeSeconds = new WaitForSeconds(3);
+ public static readonly WaitForSeconds FourSeconds = new WaitForSeconds(4);
+ public static readonly WaitForSeconds FiveSeconds = new WaitForSeconds(5);
+ public static readonly WaitForSeconds EightSeconds = new WaitForSeconds(8);
+ public static readonly WaitForSeconds TenSeconds = new WaitForSeconds(10);
+ public static readonly WaitForSeconds TwelveSeconds = new WaitForSeconds(12);
+ public static readonly WaitForSeconds FifteenSeconds = new WaitForSeconds(15);
+ public static readonly WaitForSeconds TwentySeconds = new WaitForSeconds(20);
+ public static readonly WaitForSeconds TwentyFiveSeconds = new WaitForSeconds(25);
+ static readonly WaitForEndOfFrame EndOfFrame = new WaitForEndOfFrame();
+
+ ///
+ /// EndOfFrame does not work in the batchmode editor, so we need
+ /// a workaround: https://forum.unity.com/threads/do-not-use-waitforendofframe.883648/
+ ///
+ ///
+ public static IEnumerator WaitAFrame()
+ {
+#if UNITY_EDITOR
+ yield return Application.isBatchMode ? null : EndOfFrame;
+#else
+ yield return EndOfFrame;
+#endif
+ }
+
+ public static void StopAndNullifyRoutine(ref Coroutine routine, MonoBehaviour behaviourWhichStartedIt)
+ {
+ if (routine == null) { return; }
+ if (!behaviourWhichStartedIt) { return; }
+ behaviourWhichStartedIt.StopCoroutine(routine);
+ routine = null;
+ }
+
+ public static IEnumerator WaitAndDo(IEnumerator delay, System.Action action)
+ {
+ yield return delay;
+ action?.Invoke();
+ }
+
+ public static IEnumerator WaitAndDo(YieldInstruction delay, System.Action action)
+ {
+ yield return delay;
+ action?.Invoke();
+ }
+ }
+}
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/CoroutinesHelper.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/CoroutinesHelper.cs.meta
new file mode 100644
index 000000000..496e7ebc8
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/CoroutinesHelper.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bc055f4a45ac5034589ecb2e4ea49895
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/ProfileManager.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/ProfileManager.cs
new file mode 100644
index 000000000..92b5b906b
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/ProfileManager.cs
@@ -0,0 +1,78 @@
+using System;
+using System.Collections.Generic;
+
+#if UNITY_EDITOR
+using System.Security.Cryptography;
+using System.Text;
+#endif
+
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ public class ProfileManager
+ {
+ const string k_AuthProfileCommandLineArg = "-AuthProfile";
+
+ public static ProfileManager Singleton
+ {
+ get
+ {
+ if (s_Singleton == null)
+ {
+ s_Singleton = new ProfileManager();
+ }
+
+ return s_Singleton;
+ }
+ }
+
+ static ProfileManager s_Singleton;
+
+ string m_Profile;
+
+ public string Profile
+ {
+ get
+ {
+ if (m_Profile == null)
+ {
+ m_Profile = GetProfile();
+ }
+
+ return m_Profile;
+ }
+ }
+
+ List m_AvailableProfiles;
+
+ static string GetProfile()
+ {
+ var arguments = Environment.GetCommandLineArgs();
+ for (int i = 0; i < arguments.Length; i++)
+ {
+ if (arguments[i] == k_AuthProfileCommandLineArg)
+ {
+ var profileId = arguments[i + 1];
+ return profileId;
+ }
+ }
+
+#if UNITY_EDITOR
+
+ // When running in the Editor make a unique ID from the Application.dataPath.
+ // This will work for cloning projects manually, or with Virtual Projects.
+ // Since only a single instance of the Editor can be open for a specific
+ // dataPath, uniqueness is ensured.
+ var hashedBytes = new MD5CryptoServiceProvider()
+ .ComputeHash(Encoding.UTF8.GetBytes(Application.dataPath));
+ Array.Resize(ref hashedBytes, 16);
+ // Authentication service only allows profile names of maximum 30 characters. We're generating a GUID based
+ // on the project's path. Truncating the first 30 characters of said GUID string suffices for uniqueness.
+ return new Guid(hashedBytes).ToString("N")[..30];
+#else
+ return "";
+#endif
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/ProfileManager.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/ProfileManager.cs.meta
new file mode 100644
index 000000000..963027ba8
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/Shared/ProfileManager.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: efb006c18a7d89c46830456b19776b1c
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices.meta
new file mode 100644
index 000000000..6eec884b6
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 14bca8be9787825498d4d358bf6088f2
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices/MatchmakerTicketer.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices/MatchmakerTicketer.cs
new file mode 100644
index 000000000..e01fccd7b
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices/MatchmakerTicketer.cs
@@ -0,0 +1,139 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System;
+using System.Threading.Tasks;
+using Unity.Services.Authentication;
+using Unity.Services.Matchmaker;
+using Unity.Services.Matchmaker.Models;
+using StatusOptions = Unity.Services.Matchmaker.Models.MultiplayAssignment.StatusOptions;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ ///Holds matchmaker search logic
+ ///
+ internal class MatchmakerTicketer : MonoBehaviour
+ {
+ internal string LastQueueName { get; private set; }
+ internal bool Searching { get; private set; }
+ string m_TicketId = "";
+ Coroutine m_PollingCoroutine = null;
+
+ internal async void FindMatch(string queueName, Action onMatchSearchCompleted, Action onMatchmakerTicked)
+ {
+ try
+ {
+ if (!Searching)
+ {
+ if (m_TicketId.Length > 0)
+ {
+ Debug.LogError($"Already matchmaking!");
+ return;
+ }
+
+ Searching = true;
+ await StartSearch(queueName, onMatchSearchCompleted, onMatchmakerTicked);
+ }
+ }
+ catch (Exception e)
+ {
+ Debug.LogError(e.Message);
+ await StopSearch();
+ MetagameApplication.Instance.Broadcast(new ExitMatchmakerQueueEvent());
+ }
+ }
+
+ async Task StartSearch(string queueName, Action onMatchSearchCompleted, Action onMatchmakerTicked)
+ {
+ var attributes = new Dictionary();
+ var players = new List
+ {
+ new Services.Matchmaker.Models.Player(AuthenticationService.Instance.PlayerId, new { }),
+ };
+ var options = new CreateTicketOptions(queueName, attributes);
+ var ticketResponse = await MatchmakerService.Instance.CreateTicketAsync(players, options);
+ LastQueueName = queueName;
+ m_TicketId = ticketResponse.Id;
+
+ CoroutinesHelper.StopAndNullifyRoutine(ref m_PollingCoroutine, this);
+ m_PollingCoroutine = StartCoroutine(PollTicketStatus(onMatchSearchCompleted, onMatchmakerTicked));
+ }
+
+ internal async Task StopSearch()
+ {
+ CoroutinesHelper.StopAndNullifyRoutine(ref m_PollingCoroutine, this);
+ if (!string.IsNullOrEmpty(m_TicketId))
+ {
+ await MatchmakerService.Instance.DeleteTicketAsync(m_TicketId);
+ m_TicketId = string.Empty;
+ }
+ Searching = false;
+ }
+
+ IEnumerator PollTicketStatus(Action onMatchSearchCompleted, Action onMatchmakerTicked)
+ {
+ TicketStatusResponse response = null;
+ MultiplayAssignment assignment = null;
+ bool polling = true;
+ int elapsedTime = 0;
+ Task ticketTask = null;
+
+ while (polling)
+ {
+ if (elapsedTime % 2 == 0)
+ {
+ ticketTask = Task.Run(() => MatchmakerService.Instance.GetTicketAsync(m_TicketId));
+ }
+ yield return CoroutinesHelper.OneSecond;
+ elapsedTime++;
+ onMatchmakerTicked?.Invoke(elapsedTime);
+
+ try
+ {
+ if (ticketTask.IsCompleted)
+ {
+ response = ticketTask.Result;
+
+ if (response.Type == typeof(MultiplayAssignment))
+ {
+ assignment = response.Value as MultiplayAssignment;
+ }
+
+ if (assignment == null)
+ {
+ throw new InvalidOperationException($"GetTicketStatus returned a type that was not a {nameof(MultiplayAssignment)}. This operation is not supported.");
+ }
+
+ switch (assignment.Status)
+ {
+ case StatusOptions.InProgress:
+ //Do nothing
+ break;
+ case StatusOptions.Found:
+ case StatusOptions.Failed:
+ case StatusOptions.Timeout:
+ polling = false;
+ break;
+ default:
+ throw new InvalidOperationException("Assignment status was a value other than 'In Progress', 'Found', 'Timeout' or 'Failed'! Mismatch between Matchmaker SDK expected responses and service API values! Status value: '{assignment.Status}'");
+ }
+ }
+ }
+ catch (Exception)
+ {
+#pragma warning disable CS4014 // Can't await in coroutines, so the method execution will continue
+ StopSearch();
+#pragma warning restore CS4014 // Can't await in coroutines, so the method execution will continue
+ onMatchSearchCompleted?.Invoke(assignment);
+ throw;
+ }
+ }
+
+#pragma warning disable CS4014 // Can't await in coroutines, so the method execution will continue
+ StopSearch();
+#pragma warning restore CS4014 // Can't await in coroutines, so the method execution will continue
+ onMatchSearchCompleted?.Invoke(assignment);
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices/MatchmakerTicketer.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices/MatchmakerTicketer.cs.meta
new file mode 100644
index 000000000..2a2c16997
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices/MatchmakerTicketer.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a5e9544968e49f64fac4f4227a32769b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices/UnityServicesAuthenticator.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices/UnityServicesAuthenticator.cs
new file mode 100644
index 000000000..c1afc4166
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices/UnityServicesAuthenticator.cs
@@ -0,0 +1,109 @@
+using System.Text.RegularExpressions;
+using System.Threading.Tasks;
+using Unity.Services.Authentication;
+using Unity.Services.Core;
+using Unity.Services.Core.Environments;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Sample implementation of the Unity Authentication Service for Anonymous Auth
+ /// Handles Race conditions between different sources of authentication, allowing multiple samples to be dragged into a scene without errors.
+ /// (In a real project, you should ensure a single-entry point for authentication.)
+ ///
+ internal static class UnityServiceAuthenticator
+ {
+ const int k_InitializationTimeout = 10000;
+ static bool s_IsSigningIn;
+ internal static string PlayerId => AuthenticationService.Instance.IsSignedIn ? AuthenticationService.Instance.PlayerId
+ : string.Empty;
+
+ ///
+ /// Unity anonymous Auth grants unique ID's by editor/build and machine. This means that if you open several builds or editors on the same machine, they will all have the same ID.
+ /// Using a unique profile name forces a new ID. So the strategy is to make sure that each build/editor has its own profile name to act as multiple users for a service.
+ ///
+ /// Unique name that generates the unique ID
+ ///
+ public static async Task TryInitServicesAsync(string environment, string profileName)
+ {
+ async Task WaitForInitialized()
+ {
+ while (UnityServices.State != ServicesInitializationState.Initialized)
+ {
+ await Task.Delay(100);
+ }
+ }
+
+ if (UnityServices.State == ServicesInitializationState.Initialized)
+ {
+ return true;
+ }
+
+ //Another Service is mid-initialization:
+ if (UnityServices.State == ServicesInitializationState.Initializing)
+ {
+ var task = WaitForInitialized();
+ if (await Task.WhenAny(task, Task.Delay(k_InitializationTimeout)) != task)
+ {
+ return false; // We timed out
+ }
+ return UnityServices.State == ServicesInitializationState.Initialized;
+ }
+ var initializationOptions = new InitializationOptions();
+ initializationOptions.SetEnvironmentName(environment);
+
+ if (!string.IsNullOrEmpty(profileName))
+ {
+ //ProfileNames can't contain non-alphanumeric characters
+ var rgx = new Regex("[^a-zA-Z0-9 - _]");
+ profileName = rgx.Replace(profileName, "");
+ initializationOptions.SetProfile(profileName);
+ }
+
+ //If you are using multiple unity services, make sure to initialize it only once before using your services.
+ await UnityServices.InitializeAsync(initializationOptions);
+ return UnityServices.State == ServicesInitializationState.Initialized;
+ }
+
+ public static async Task TrySignInAsync(string environment, string profileName)
+ {
+ async Task WaitForSignedIn()
+ {
+ while (!AuthenticationService.Instance.IsSignedIn)
+ {
+ await Task.Delay(100);
+ }
+ }
+
+ if (!await TryInitServicesAsync(environment, profileName))
+ {
+ return false;
+ }
+ if (s_IsSigningIn)
+ {
+ var task = WaitForSignedIn();
+ if (await Task.WhenAny(task, Task.Delay(k_InitializationTimeout)) != task)
+ {
+ return false; // We timed out
+ }
+ return AuthenticationService.Instance.IsSignedIn;
+ }
+
+ s_IsSigningIn = true;
+ try
+ {
+ await AuthenticationService.Instance.SignInAnonymouslyAsync();
+ }
+ catch (System.Exception ex)
+ {
+ Debug.LogError($"Could not sign in: {ex.Message}");
+ }
+ finally
+ {
+ s_IsSigningIn = false;
+ }
+ return AuthenticationService.Instance.IsSignedIn;
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices/UnityServicesAuthenticator.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices/UnityServicesAuthenticator.cs.meta
new file mode 100644
index 000000000..7d3d21661
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices/UnityServicesAuthenticator.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f59f311387cef8e499db8d9e1f42a85b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices/UnityServicesInitializer.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices/UnityServicesInitializer.cs
new file mode 100644
index 000000000..a09470020
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices/UnityServicesInitializer.cs
@@ -0,0 +1,79 @@
+using System.Collections;
+using System.Threading.Tasks;
+using Unity.Services.Core;
+using Unity.DedicatedGameServerSample.Runtime.ApplicationLifecycle;
+using Unity.Multiplayer;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ ///Initializes all the Unity Services managers
+ ///
+ [MultiplayerRoleRestricted]
+ internal class UnityServicesInitializer : MonoBehaviour
+ {
+ public const string k_ServerID = "SERVER";
+ public static UnityServicesInitializer Instance { get; private set; }
+ public MatchmakerTicketer Matchmaker { get; private set; }
+
+ public const string k_Environment =
+#if LIVE
+ "production";
+#elif STAGE
+ "staging";
+#else
+ "dev";
+#endif
+ public void Awake()
+ {
+ if (Instance && Instance != this)
+ {
+ return;
+ }
+
+ Instance = this;
+ DontDestroyOnLoad(gameObject);
+ OnConfigurationLoaded();
+ }
+
+ async void OnConfigurationLoaded()
+ {
+ await Initialize(MultiplayerRolesManager.ActiveMultiplayerRoleMask == MultiplayerRoleFlags.Client);
+ }
+
+ async public Task Initialize(bool isClient)
+ {
+ string serviceProfileName = ProfileManager.Singleton.Profile;
+ if (!isClient)
+ {
+ //servers should always have a single ID so their data isn't mixed with Users'.
+ UnityServices.ExternalUserId = k_ServerID;
+ }
+
+ bool signedIn = await UnityServiceAuthenticator.TrySignInAsync(k_Environment, serviceProfileName);
+ if (isClient)
+ {
+ //wait for the MetagameApplication to be instantiated, to avoid race conditions
+ StartCoroutine(CoroutinesHelper.WaitAndDo(new WaitUntil(() => MetagameApplication.Instance), () =>
+ {
+ //at this point, it's safe to tell the Application that the player signed in
+ MetagameApplication.Instance.Broadcast(new PlayerSignedIn(signedIn, UnityServiceAuthenticator.PlayerId));
+ if (signedIn)
+ {
+ InitializeClientOnlyServices();
+ }
+ else
+ {
+ Debug.LogError("User could not sign in. Please check that your device is connected to the internet, and that the project is linked to an existing Project in the Unity Cloud.");
+ }
+ }));
+ }
+ }
+
+ void InitializeClientOnlyServices()
+ {
+ Matchmaker = gameObject.AddComponent();
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices/UnityServicesInitializer.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices/UnityServicesInitializer.cs.meta
new file mode 100644
index 000000000..e1039af64
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/UnityGameServices/UnityServicesInitializer.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2382ab27edf0676468b4eaafea53034c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/com.unity.sample.dedicated.server.runtime.asmdef b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/com.unity.sample.dedicated.server.runtime.asmdef
new file mode 100644
index 000000000..4cdba866d
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/com.unity.sample.dedicated.server.runtime.asmdef
@@ -0,0 +1,29 @@
+{
+ "name": "com.unity.sample.dedicated-server.runtime",
+ "rootNamespace": "Unity.DedicatedGameServerSample.Runtime",
+ "references": [
+ "Unity.Netcode.Runtime",
+ "Unity.Services.Core",
+ "Unity.Services.Matchmaker",
+ "Unity.Services.Authentication",
+ "Unity.Services.Core.Environments",
+ "Unity.Networking.Transport",
+ "com.unity.sample.dedicated-server.shared",
+ "Cinemachine",
+ "Unity.Multiplayer.Samples.Utilities.ClientAuthority",
+ "Unity.InputSystem",
+ "StarterAssets",
+ "Unity.DedicatedServer.MultiplayerRoles",
+ "Unity.AI.Navigation",
+ "Unity.Multiplayer.Samples.Utilities"
+ ],
+ "includePlatforms": [],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": false,
+ "precompiledReferences": [],
+ "autoReferenced": true,
+ "defineConstraints": [],
+ "versionDefines": [],
+ "noEngineReferences": false
+}
\ No newline at end of file
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/com.unity.sample.dedicated.server.runtime.asmdef.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/com.unity.sample.dedicated.server.runtime.asmdef.meta
new file mode 100644
index 000000000..012a9f415
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Runtime/com.unity.sample.dedicated.server.runtime.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: bb4e5350789f09a40bde25a5f53d6d58
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Shared.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Shared.meta
new file mode 100644
index 000000000..babe7fe9b
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Shared.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2ff943acd0abe7d4cb7e9142ebc0fe30
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Shared/JSONUtilities.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Shared/JSONUtilities.cs
new file mode 100644
index 000000000..bf4129eb4
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Shared/JSONUtilities.cs
@@ -0,0 +1,116 @@
+using System.IO;
+using System.Threading.Tasks;
+using Unity.DedicatedGameServerSample.Runtime.SimpleJSON;
+using UnityEngine;
+
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ ///
+ /// Utility class for JSON files
+ ///
+ public class JSONUtilities
+ {
+ ///
+ /// Reads the content of a JSON file and returns it
+ ///
+ /// path of the JSON file
+ /// the encoded JSON if the reading was successfull, a "Status : failed" JSON otherwise
+ public static JSONNode ReadJSONFromFile(string filePath)
+ {
+ StreamReader reader = null;
+ try
+ {
+ reader = new StreamReader(filePath);
+ return JSONNode.Parse(reader.ReadToEnd());
+ }
+ catch (System.Exception ex)
+ {
+ Debug.LogError(ex.Message);
+ }
+ finally
+ {
+ if (reader != null)
+ {
+ reader.Close();
+ reader.Dispose();
+ }
+ }
+ return JSONNode.Parse("{ \"Status\" : \"FAILED\" }");
+ }
+
+ ///
+ /// Reads the content of a JSON file and returns it, asynchronously
+ ///
+ /// path of the JSON file
+ /// the encoded JSON if the reading was successfull, a "Status : failed" JSON otherwise
+ public static async Task ReadJSONFromFileAsync(string filePath)
+ {
+ StreamReader reader = null;
+ try
+ {
+ reader = new StreamReader(filePath);
+ string fileContent = await reader.ReadToEndAsync().ConfigureAwait(false);
+ return JSONNode.Parse(fileContent);
+ }
+ catch (System.Exception ex)
+ {
+ Debug.LogError(ex.Message);
+ }
+ finally
+ {
+ if (reader != null)
+ {
+ reader.Close();
+ reader.Dispose();
+ }
+ }
+ return JSONNode.Parse("{ \"Status\" : \"FAILED\" }");
+ }
+
+ ///
+ /// Writes the content of a JSON in a file
+ ///
+ /// path of the JSON file
+ /// content of the JSON that you want to write
+ /// Should the JSON be written without spaces?
+ /// Should the original file be completeley rewritten? (if exists)
+ public static void WriteJSONToFile(string filePath, JSONNode content, bool singleLine = false, bool append = false)
+ {
+ EnsureDirectoryExists(filePath);
+ StreamWriter writer = null;
+ try
+ {
+ writer = new StreamWriter(filePath, append);
+ if (singleLine)
+ {
+ writer.WriteLine(content.ToString());
+ }
+ else
+ {
+ writer.WriteLine(content.ToString(""));
+ }
+ }
+ catch (System.Exception ex)
+ {
+ Debug.LogError(ex.Message);
+ }
+ finally
+ {
+ if (writer != null)
+ {
+ writer.Close();
+ writer.Dispose();
+ }
+ }
+ }
+
+ static void EnsureDirectoryExists(string filePath)
+ {
+ FileInfo fi = new FileInfo(filePath);
+ if (!fi.Directory.Exists)
+ {
+ Directory.CreateDirectory(fi.DirectoryName);
+ }
+ }
+ }
+}
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Shared/JSONUtilities.cs.meta b/Experimental/DedicatedGameServer/Assets/Scripts/Shared/JSONUtilities.cs.meta
new file mode 100644
index 000000000..f2978c1fb
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Shared/JSONUtilities.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5971772b1f361ed43a0c7feddbf6eba1
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Experimental/DedicatedGameServer/Assets/Scripts/Shared/SimpleJSON.cs b/Experimental/DedicatedGameServer/Assets/Scripts/Shared/SimpleJSON.cs
new file mode 100644
index 000000000..52622157c
--- /dev/null
+++ b/Experimental/DedicatedGameServer/Assets/Scripts/Shared/SimpleJSON.cs
@@ -0,0 +1,1095 @@
+namespace Unity.DedicatedGameServerSample.Runtime
+{
+ /* * * * *
+ * A simple JSON Parser / builder
+ * ------------------------------
+ *
+ * It mainly has been written as a simple JSON parser. It can build a JSON string
+ * from the node-tree, or generate a node tree from any valid JSON string.
+ *
+ * If you want to use compression when saving to file / stream / B64 you have to include
+ * SharpZipLib ( http://www.icsharpcode.net/opensource/sharpziplib/ ) in your project and
+ * define "USE_SharpZipLib" at the top of the file
+ *
+ * Written by Bunny83
+ * 2012-06-09
+ *
+ * Features / attributes:
+ * - provides strongly typed node classes and lists / dictionaries
+ * - provides easy access to class members / array items / data values
+ * - the parser ignores data types. Each value is a string.
+ * - only double quotes (") are used for quoting strings.
+ * - values and names are not restricted to quoted strings. They simply add up and are trimmed.
+ * - There are only 3 types: arrays(JSONArray), objects(JSONClass) and values(JSONData)
+ * - provides "casting" properties to easily convert to / from those types:
+ * int / float / double / bool
+ * - provides a common interface for each node so no explicit casting is required.
+ * - the parser try to avoid errors, but if malformed JSON is parsed the result is undefined
+ *
+ *
+ * 2012-12-17 Update:
+ * - Added internal JSONLazyCreator class which simplifies the construction of a JSON tree
+ * Now you can simple reference any item that doesn't exist yet and it will return a JSONLazyCreator
+ * The class determines the required type by it's further use, creates the type and removes itself.
+ * - Added binary serialization / deserialization.
+ * - Added support for BZip2 zipped binary format. Requires the SharpZipLib ( http://www.icsharpcode.net/opensource/sharpziplib/ )
+ * The usage of the SharpZipLib library can be disabled by removing or commenting out the USE_SharpZipLib define at the top
+ * - The serializer uses different types when it comes to store the values. Since my data values
+ * are all of type string, the serializer will "try" which format fits best. The order is: int, float, double, bool, string.
+ * It's not the most efficient way but for a moderate amount of data it should work on all platforms.
+ *
+ * 2015-07-25 Update: (Paolo Abela)
+ * - Added key enumerator for getting the keys of the json file
+ *
+ * * * * */
+
+ using System;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Linq;
+
+ namespace SimpleJSON
+ {
+ public enum JSONBinaryTag
+ {
+ Array = 1,
+ Class = 2,
+ Value = 3,
+ IntValue = 4,
+ DoubleValue = 5,
+ BoolValue = 6,
+ FloatValue = 7,
+ }
+
+ public class JSONNode
+ {
+ #region common interface
+ public virtual void Add(string aKey, JSONNode aItem) { }
+ public virtual JSONNode this[int aIndex] { get { return null; } set { } }
+ public virtual JSONNode this[string aKey] { get { return null; } set { } }
+ public virtual string Value { get { return ""; } set { } }
+ public virtual int Count { get { return 0; } }
+
+ public virtual IEnumerable Keys { get { yield break; } }
+
+ public virtual void Add(JSONNode aItem)
+ {
+ Add("", aItem);
+ }
+
+ public virtual JSONNode Remove(string aKey) { return null; }
+ public virtual JSONNode Remove(int aIndex) { return null; }
+ public virtual JSONNode Remove(JSONNode aNode) { return aNode; }
+
+ public virtual IEnumerable Childs { get { yield break; } }
+ public virtual IEnumerable> ChildsWithKeys { get { yield break; } }
+
+ public IEnumerable DeepChilds
+ {
+ get
+ {
+ foreach (var C in Childs)
+ foreach (var D in C.DeepChilds)
+ yield return D;
+ }
+ }
+
+ public override string ToString()
+ {
+ return "JSONNode";
+ }
+ public virtual string ToString(string aPrefix)
+ {
+ return "JSONNode";
+ }
+
+ #endregion common interface
+
+ #region typecasting properties
+ public virtual int AsInt
+ {
+ get
+ {
+ int v = 0;
+ if (int.TryParse(Value, out v))
+ return v;
+ return 0;
+ }
+ set
+ {
+ Value = value.ToString();
+ }
+ }
+ public virtual float AsFloat
+ {
+ get
+ {
+ float v = 0.0f;
+ if (float.TryParse(Value, out v))
+ return v;
+ return 0.0f;
+ }
+ set
+ {
+ Value = value.ToString();
+ }
+ }
+ public virtual double AsDouble
+ {
+ get
+ {
+ double v = 0.0;
+ if (double.TryParse(Value, out v))
+ return v;
+ return 0.0;
+ }
+ set
+ {
+ Value = value.ToString();
+ }
+ }
+ public virtual bool AsBool
+ {
+ get
+ {
+ bool v = false;
+ if (bool.TryParse(Value, out v))
+ return v;
+ return !string.IsNullOrEmpty(Value);
+ }
+ set
+ {
+ Value = (value) ? "true" : "false";
+ }
+ }
+ public virtual JSONArray AsArray
+ {
+ get
+ {
+ return this as JSONArray;
+ }
+ }
+ public virtual JSONClass AsObject
+ {
+ get
+ {
+ return this as JSONClass;
+ }
+ }
+
+
+ #endregion typecasting properties
+
+ #region operators
+ public static implicit operator JSONNode(string s)
+ {
+ return new JSONData(s);
+ }
+ public static implicit operator string(JSONNode d)
+ {
+ return (d == null) ? null : d.Value;
+ }
+ public static bool operator ==(JSONNode a, object b)
+ {
+ if (b == null && a is JSONLazyCreator)
+ return true;
+ return System.Object.ReferenceEquals(a, b);
+ }
+
+ public static bool operator !=(JSONNode a, object b)
+ {
+ return !(a == b);
+ }
+ public override bool Equals(object obj)
+ {
+ return System.Object.ReferenceEquals(this, obj);
+ }
+ public override int GetHashCode()
+ {
+ return base.GetHashCode();
+ }
+
+
+ #endregion operators
+
+ internal static string Escape(string aText)
+ {
+ string result = "";
+ foreach (char c in aText)
+ {
+ switch (c)
+ {
+ case '\\': result += "\\\\"; break;
+ case '\"': result += "\\\""; break;
+ case '\n': result += "\\n"; break;
+ case '\r': result += "\\r"; break;
+ case '\t': result += "\\t"; break;
+ case '\b': result += "\\b"; break;
+ case '\f': result += "\\f"; break;
+ default: result += c; break;
+ }
+ }
+ return result;
+ }
+
+ public static JSONNode Parse(string aJSON)
+ {
+ Stack stack = new Stack