diff --git a/Examples/OverridingScenesAndPrefabs/.gitignore b/Examples/OverridingScenesAndPrefabs/.gitignore
new file mode 100644
index 0000000000..2800399634
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/.gitignore
@@ -0,0 +1,83 @@
+# This .gitignore file should be placed at the root of your Unity project directory
+#
+# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
+#
+/[Ll]ibrary/
+/[Tt]emp/
+/[Oo]bj/
+/[Bb]uild/
+/[Bb]uilds/
+/[Ll]ogs/
+/[Uu]ser[Ss]ettings/
+
+# MemoryCaptures can get excessive in size.
+# They also could contain extremely sensitive data
+/[Mm]emoryCaptures/
+
+# Asset meta data should only be ignored when the corresponding asset is also ignored
+!/[Aa]ssets/**/*.meta
+
+# Uncomment this line if you wish to ignore the asset store tools plugin
+# /[Aa]ssets/AssetStoreTools*
+
+# Autogenerated Jetbrains Rider plugin
+/[Aa]ssets/Plugins/Editor/JetBrains*
+
+# Visual Studio cache directory
+.vs/
+
+# Gradle cache directory
+.gradle/
+
+# Autogenerated VS/MD/Consulo solution and project files
+ExportedObj/
+.consulo/
+*.csproj
+*.unityproj
+*.sln
+*.suo
+*.tmp
+*.user
+*.userprefs
+*.pidb
+*.booproj
+*.svd
+*.pdb
+*.mdb
+*.opendb
+*.VC.db
+
+# Unity3D generated meta files
+*.pidb.meta
+*.pdb.meta
+*.mdb.meta
+
+# Unity3D generated file on crash reports
+sysinfo.txt
+
+# Builds
+*.apk
+*.aab
+*.unitypackage
+
+# Crashlytics generated file
+crashlytics-build.properties
+
+# Packed Addressables
+/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
+
+# Temporary auto-generated Android Assets
+/[Aa]ssets/[Ss]treamingAssets/aa.meta
+/[Aa]ssets/[Ss]treamingAssets/aa/*
+/[Aa]ssets/[Ss]treamingAssets/BuildInfo.json
+/[Aa]ssets/[Ss]treamingAssets/BuildInfo.json.meta
+
+# Secrets
+*.pem
+*.pem.meta
+
+InitTestScene*
+
+boot.config
+SceneTemplateSettings.json
+*BurstAotSettings*.json
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/DefaultNetworkPrefabs.asset b/Examples/OverridingScenesAndPrefabs/Assets/DefaultNetworkPrefabs.asset
new file mode 100644
index 0000000000..56426e31b7
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/DefaultNetworkPrefabs.asset
@@ -0,0 +1,46 @@
+%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: DefaultNetworkPrefabs
+ m_EditorClassIdentifier:
+ IsDefault: 1
+ List:
+ - Override: 0
+ Prefab: {fileID: 8921789205124766477, guid: a279f80620d4e6a4ab02c1a9c96ff460, type: 3}
+ SourcePrefabToOverride: {fileID: 0}
+ SourceHashToOverride: 0
+ OverridingTargetPrefab: {fileID: 0}
+ - Override: 0
+ Prefab: {fileID: 5415449980466536476, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ SourcePrefabToOverride: {fileID: 0}
+ SourceHashToOverride: 0
+ OverridingTargetPrefab: {fileID: 0}
+ - Override: 0
+ Prefab: {fileID: 8921789205124766477, guid: 8ae02ac62e2067144b8ff06d48aeb47a, type: 3}
+ SourcePrefabToOverride: {fileID: 0}
+ SourceHashToOverride: 0
+ OverridingTargetPrefab: {fileID: 0}
+ - Override: 0
+ Prefab: {fileID: 3439633038736912633, guid: 398aad09d8b2a47eba664a076763cdcc, type: 3}
+ SourcePrefabToOverride: {fileID: 0}
+ SourceHashToOverride: 0
+ OverridingTargetPrefab: {fileID: 0}
+ - Override: 0
+ Prefab: {fileID: 4710599683293591777, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ SourcePrefabToOverride: {fileID: 0}
+ SourceHashToOverride: 0
+ OverridingTargetPrefab: {fileID: 0}
+ - Override: 0
+ Prefab: {fileID: 6472733969592893139, guid: 3e5167b6e6bcb5645abb2dbc0078091e, type: 3}
+ SourcePrefabToOverride: {fileID: 0}
+ SourceHashToOverride: 0
+ OverridingTargetPrefab: {fileID: 0}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/DefaultNetworkPrefabs.asset.meta b/Examples/OverridingScenesAndPrefabs/Assets/DefaultNetworkPrefabs.asset.meta
new file mode 100644
index 0000000000..fee27b3ade
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/DefaultNetworkPrefabs.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: aa82390bfdde2564f828b8e5be375282
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials.meta b/Examples/OverridingScenesAndPrefabs/Assets/Materials.meta
new file mode 100644
index 0000000000..463de70d61
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d5b7ad71451c27e4291295cfffc10328
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildLocal.mat b/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildLocal.mat
new file mode 100644
index 0000000000..b6fd2dd9a1
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildLocal.mat
@@ -0,0 +1,86 @@
+%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: ChildLocal
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords:
+ - _ALPHAPREMULTIPLY_ON
+ - _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: 3000
+ stringTagMap:
+ RenderType: Transparent
+ disabledShaderPasses: []
+ m_LockedProperties:
+ 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: 0
+ - _Glossiness: 0
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 3
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 1
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 0
+ m_Colors:
+ - _Color: {r: 0.8980392, g: 0.039215658, b: 0.7682729, a: 0.2509804}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildLocal.mat.meta b/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildLocal.mat.meta
new file mode 100644
index 0000000000..35e4d565be
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildLocal.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 45fc555bc05bfee4ab8b0d536799ecee
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildLocalNoParentSync.mat b/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildLocalNoParentSync.mat
new file mode 100644
index 0000000000..c44172e7a7
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildLocalNoParentSync.mat
@@ -0,0 +1,86 @@
+%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: ChildLocalNoParentSync
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords:
+ - _ALPHAPREMULTIPLY_ON
+ - _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: 3000
+ stringTagMap:
+ RenderType: Transparent
+ disabledShaderPasses: []
+ m_LockedProperties:
+ 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: 0
+ - _Glossiness: 0
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 3
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 1
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 0
+ m_Colors:
+ - _Color: {r: 0.039215658, g: 0.78592235, b: 0.8980392, a: 0.2509804}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildLocalNoParentSync.mat.meta b/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildLocalNoParentSync.mat.meta
new file mode 100644
index 0000000000..3a26e43d98
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildLocalNoParentSync.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: affef70511a06dd46b8f52636020af4a
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildWorld.mat b/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildWorld.mat
new file mode 100644
index 0000000000..0c2bf4b187
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildWorld.mat
@@ -0,0 +1,86 @@
+%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: ChildWorld
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords:
+ - _ALPHAPREMULTIPLY_ON
+ - _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: 3000
+ stringTagMap:
+ RenderType: Transparent
+ disabledShaderPasses: []
+ m_LockedProperties:
+ 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: 0
+ - _Glossiness: 0
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 3
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 1
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 0
+ m_Colors:
+ - _Color: {r: 0.3783494, g: 0.039215658, b: 0.8980392, a: 0.2509804}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildWorld.mat.meta b/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildWorld.mat.meta
new file mode 100644
index 0000000000..9a00ded8c6
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildWorld.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 15d0bda12a233964086aee5c0c357e24
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildWorldNoParentSync.mat b/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildWorldNoParentSync.mat
new file mode 100644
index 0000000000..86b27eb5c9
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildWorldNoParentSync.mat
@@ -0,0 +1,86 @@
+%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: ChildWorldNoParentSync
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords:
+ - _ALPHAPREMULTIPLY_ON
+ - _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: 3000
+ stringTagMap:
+ RenderType: Transparent
+ disabledShaderPasses: []
+ m_LockedProperties:
+ 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: 0
+ - _Glossiness: 0
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 3
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 1
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 0
+ m_Colors:
+ - _Color: {r: 0.039215658, g: 0.8980392, b: 0.09095798, a: 0.2509804}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildWorldNoParentSync.mat.meta b/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildWorldNoParentSync.mat.meta
new file mode 100644
index 0000000000..5ab7ff2e72
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/ChildWorldNoParentSync.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a5e199307b2e0894294d9c8bee99a691
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/Direction.mat b/Examples/OverridingScenesAndPrefabs/Assets/Materials/Direction.mat
new file mode 100644
index 0000000000..ed5ed117c3
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/Direction.mat
@@ -0,0 +1,84 @@
+%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: Direction
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords:
+ - _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_LockedProperties:
+ 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: 0
+ - _Glossiness: 0
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 1
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.8962264, g: 0.52830994, b: 0.038047332, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/Direction.mat.meta b/Examples/OverridingScenesAndPrefabs/Assets/Materials/Direction.mat.meta
new file mode 100644
index 0000000000..c93791fac0
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/Direction.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5324c76c2bab7344badd5ea27a40bcb5
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridBlue.mat b/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridBlue.mat
new file mode 100644
index 0000000000..9009817e26
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridBlue.mat
@@ -0,0 +1,138 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-2624353793879203111
+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: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: GridBlue
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords:
+ - _EMISSION
+ - _GLOSSYREFLECTIONS_OFF
+ - _NORMALMAP
+ m_InvalidKeywords: []
+ m_LightmapFlags: 2
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 2800000, guid: b94463ba36040ec4082132c54dd1bbad, 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: 8bf2cf149563066489e749ea032dbca7, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: e71f43865e91e6b418bd0d67be2445dc, type: 3}
+ 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}
+ - _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:
+ - _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
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.477
+ - _GlossyReflections: 0
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 0
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+ - _Color: {r: 0.5438323, g: 0.88474977, b: 0.9528302, a: 1}
+ - _EmissionColor: {r: 0, g: 0.6988592, b: 1, a: 1}
+ - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
+ m_BuildTextureStacks: []
+ m_AllowLocking: 1
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridBlue.mat.meta b/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridBlue.mat.meta
new file mode 100644
index 0000000000..b8caf3cbac
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridBlue.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1448a5da57523ce4bbc377143e02fe3c
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridOrange.mat b/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridOrange.mat
new file mode 100644
index 0000000000..38a4e9808b
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridOrange.mat
@@ -0,0 +1,138 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-2624353793879203111
+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: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: GridOrange
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords:
+ - _EMISSION
+ - _GLOSSYREFLECTIONS_OFF
+ - _NORMALMAP
+ m_InvalidKeywords: []
+ m_LightmapFlags: 2
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 2800000, guid: b94463ba36040ec4082132c54dd1bbad, 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: 8bf2cf149563066489e749ea032dbca7, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: e71f43865e91e6b418bd0d67be2445dc, type: 3}
+ 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}
+ - _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:
+ - _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
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.477
+ - _GlossyReflections: 0
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 0
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+ - _Color: {r: 1, g: 0.49475378, b: 0, a: 1}
+ - _EmissionColor: {r: 0.990566, g: 0.48359674, b: 0.378471, a: 1}
+ - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
+ m_BuildTextureStacks: []
+ m_AllowLocking: 1
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridOrange.mat.meta b/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridOrange.mat.meta
new file mode 100644
index 0000000000..bf2873069e
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridOrange.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2e2c886f4af8e304eb9a1e2e50d023b3
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridPattern.mat b/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridPattern.mat
new file mode 100644
index 0000000000..f44981f387
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridPattern.mat
@@ -0,0 +1,85 @@
+%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: GridPattern
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords:
+ - _GLOSSYREFLECTIONS_OFF
+ - _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 1
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_LockedProperties:
+ 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: 6, y: 6}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: a092c5fa8c60ed04aa1d72555f1740bc, type: 3}
+ m_Scale: {x: 6, y: 6}
+ 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: 0
+ - _Glossiness: 0
+ - _GlossyReflections: 0
+ - _Metallic: 0.785
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 1
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0.254717, g: 0.23188858, b: 0.23188858, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridPattern.mat.meta b/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridPattern.mat.meta
new file mode 100644
index 0000000000..cbca0f4485
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridPattern.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 42c4a0ad1f9d67a45b12f68697321aad
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridWhite.mat b/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridWhite.mat
new file mode 100644
index 0000000000..6e1b52a2c0
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridWhite.mat
@@ -0,0 +1,138 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-2624353793879203111
+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: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: GridWhite
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords:
+ - _EMISSION
+ - _GLOSSYREFLECTIONS_OFF
+ - _NORMALMAP
+ m_InvalidKeywords: []
+ m_LightmapFlags: 2
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 2800000, guid: b94463ba36040ec4082132c54dd1bbad, 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: 8bf2cf149563066489e749ea032dbca7, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0.03}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: 844faea9c35b2464c8ecb09f66e2e2f8, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0.03}
+ - _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:
+ - _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
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 0.24
+ - _Glossiness: 0.846
+ - _GlossyReflections: 0
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 0
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _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: 1, g: 1, b: 1, a: 1}
+ - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
+ m_BuildTextureStacks: []
+ m_AllowLocking: 1
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridWhite.mat.meta b/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridWhite.mat.meta
new file mode 100644
index 0000000000..4559482bba
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/GridWhite.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a53ba8919fa78c14caac473c7e7ce7d3
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/Ground.mat b/Examples/OverridingScenesAndPrefabs/Assets/Materials/Ground.mat
new file mode 100644
index 0000000000..252ea1a0ed
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/Ground.mat
@@ -0,0 +1,79 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Ground
+ m_Shader: {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ 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.5
+ - _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: 0.14769986, g: 0.1509434, b: 0.1473834, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/Ground.mat.meta b/Examples/OverridingScenesAndPrefabs/Assets/Materials/Ground.mat.meta
new file mode 100644
index 0000000000..6dbcac16d3
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/Ground.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9c73b921ea39f4344a19c2d1c7d6b314
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/PlayerMaterial.mat b/Examples/OverridingScenesAndPrefabs/Assets/Materials/PlayerMaterial.mat
new file mode 100644
index 0000000000..bc67e92539
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/PlayerMaterial.mat
@@ -0,0 +1,84 @@
+%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: PlayerMaterial
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ 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: []
+ m_LockedProperties:
+ 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
+ - _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: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ m_BuildTextureStacks: []
+ m_AllowLocking: 1
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/PlayerMaterial.mat.meta b/Examples/OverridingScenesAndPrefabs/Assets/Materials/PlayerMaterial.mat.meta
new file mode 100644
index 0000000000..1ceca58536
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/PlayerMaterial.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 44e292334941fe148b997ca2b01b5789
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/ShaderGraphGrid_01_Mat.mat b/Examples/OverridingScenesAndPrefabs/Assets/Materials/ShaderGraphGrid_01_Mat.mat
new file mode 100644
index 0000000000..5161ac9b8e
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/ShaderGraphGrid_01_Mat.mat
@@ -0,0 +1,134 @@
+%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: ShaderGraphGrid_01_Mat
+ m_Shader: {fileID: -6465566751694194690, guid: b8d7679189d4a5940af46004f3870920, 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: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - Texture2D_C5E3E723:
+ m_Texture: {fileID: 2800000, guid: d4d6919451fe3e24388816386a6d15a4, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _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}
+ - _Grid_Normal_Map:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: d9c0dd5cdac07b145be73329e489869a, type: 3}
+ m_Scale: {x: 1, y: 1}
+ 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}
+ - 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:
+ - Boolean_35A71344: 0
+ - Boolean_7A5F3F39: 1
+ - Boolean_7AC8D832: 1
+ - Vector1_3402D67A: 1
+ - Vector1_3655428E: 5
+ - Vector1_5B05FA1F: 0.062
+ - Vector1_6B67A8FF: -20
+ - Vector1_7810F718: 1
+ - Vector1_B6126E6E: 0.335
+ - Vector1_CA7D5F3: 30
+ - Vector1_D5FBE925: 0.3
+ - Vector1_F2A922B4: 1.73
+ - Vector1_F5FD9210: 33.9
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.119
+ - _GlossyReflections: 1
+ - _Grid_Normal_Strength: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 0
+ - _Parallax: 0.02
+ - _QueueControl: 0
+ - _QueueOffset: 0
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - Color_2B671050: {r: 0.23202202, g: 0.6245157, b: 0.745283, a: 0}
+ - Color_30A0CA2F: {r: 0.02745098, g: 1, b: 0.7565653, a: 0}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &6450197988115792188
+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: 7
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Materials/ShaderGraphGrid_01_Mat.mat.meta b/Examples/OverridingScenesAndPrefabs/Assets/Materials/ShaderGraphGrid_01_Mat.mat.meta
new file mode 100644
index 0000000000..efd03db61f
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Materials/ShaderGraphGrid_01_Mat.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7be68f3cac640fd40a7663ac97380a9c
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Models.meta b/Examples/OverridingScenesAndPrefabs/Assets/Models.meta
new file mode 100644
index 0000000000..21910d8d7a
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Models.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bd50c879f39d9d94b92706513b4f56ef
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Models/Ramp_100x100x200_Mesh.fbx b/Examples/OverridingScenesAndPrefabs/Assets/Models/Ramp_100x100x200_Mesh.fbx
new file mode 100644
index 0000000000..2fa479b052
Binary files /dev/null and b/Examples/OverridingScenesAndPrefabs/Assets/Models/Ramp_100x100x200_Mesh.fbx differ
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Models/Ramp_100x100x200_Mesh.fbx.meta b/Examples/OverridingScenesAndPrefabs/Assets/Models/Ramp_100x100x200_Mesh.fbx.meta
new file mode 100644
index 0000000000..2ebb0bb69b
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Models/Ramp_100x100x200_Mesh.fbx.meta
@@ -0,0 +1,107 @@
+fileFormatVersion: 2
+guid: 4c31b0c9eb3dcdf4890cd904bf277cdf
+ModelImporter:
+ serializedVersion: 22200
+ internalIDToNameTable: []
+ externalObjects: {}
+ materials:
+ materialImportMode: 2
+ 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: 1
+ importBlendShapes: 1
+ importCameras: 1
+ importLights: 1
+ 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: 1
+ strictVertexDataChecks: 0
+ tangentSpace:
+ normalSmoothAngle: 60
+ normalImportMode: 0
+ tangentImportMode: 3
+ normalCalculationMode: 4
+ legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
+ blendShapeNormalImportMode: 1
+ normalSmoothingSource: 0
+ referencedClips: []
+ importAnimation: 1
+ 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: 2
+ humanoidOversampling: 1
+ avatarSetup: 0
+ addHumanoidExtraRootOnlyWhenUsingAvatar: 1
+ importBlendShapeDeformPercent: 1
+ remapMaterialsIfMaterialImportModeIsNone: 0
+ additionalBone: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Models/Ramp_Mesh.fbx b/Examples/OverridingScenesAndPrefabs/Assets/Models/Ramp_Mesh.fbx
new file mode 100644
index 0000000000..ac24ee24d6
Binary files /dev/null and b/Examples/OverridingScenesAndPrefabs/Assets/Models/Ramp_Mesh.fbx differ
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Models/Ramp_Mesh.fbx.meta b/Examples/OverridingScenesAndPrefabs/Assets/Models/Ramp_Mesh.fbx.meta
new file mode 100644
index 0000000000..f9aabd0c03
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Models/Ramp_Mesh.fbx.meta
@@ -0,0 +1,107 @@
+fileFormatVersion: 2
+guid: 5d8449220d5795b448a4cee5cbde4b56
+ModelImporter:
+ serializedVersion: 22200
+ internalIDToNameTable: []
+ externalObjects: {}
+ materials:
+ materialImportMode: 2
+ 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: 1
+ importBlendShapes: 1
+ importCameras: 1
+ importLights: 1
+ 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: 1
+ strictVertexDataChecks: 0
+ tangentSpace:
+ normalSmoothAngle: 60
+ normalImportMode: 0
+ tangentImportMode: 3
+ normalCalculationMode: 4
+ legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
+ blendShapeNormalImportMode: 1
+ normalSmoothingSource: 0
+ referencedClips: []
+ importAnimation: 1
+ 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: 2
+ humanoidOversampling: 1
+ avatarSetup: 0
+ addHumanoidExtraRootOnlyWhenUsingAvatar: 1
+ importBlendShapeDeformPercent: 1
+ remapMaterialsIfMaterialImportModeIsNone: 0
+ additionalBone: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Models/Tunnel_Mesh.fbx b/Examples/OverridingScenesAndPrefabs/Assets/Models/Tunnel_Mesh.fbx
new file mode 100644
index 0000000000..7ec9d4bb74
Binary files /dev/null and b/Examples/OverridingScenesAndPrefabs/Assets/Models/Tunnel_Mesh.fbx differ
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Models/Tunnel_Mesh.fbx.meta b/Examples/OverridingScenesAndPrefabs/Assets/Models/Tunnel_Mesh.fbx.meta
new file mode 100644
index 0000000000..75c9997470
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Models/Tunnel_Mesh.fbx.meta
@@ -0,0 +1,107 @@
+fileFormatVersion: 2
+guid: 63fcabcd345d556498e09f748683088e
+ModelImporter:
+ serializedVersion: 22200
+ internalIDToNameTable: []
+ externalObjects: {}
+ materials:
+ materialImportMode: 2
+ 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: 1
+ importBlendShapes: 1
+ importCameras: 1
+ importLights: 1
+ 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: 1
+ strictVertexDataChecks: 0
+ tangentSpace:
+ normalSmoothAngle: 60
+ normalImportMode: 0
+ tangentImportMode: 3
+ normalCalculationMode: 4
+ legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
+ blendShapeNormalImportMode: 1
+ normalSmoothingSource: 0
+ referencedClips: []
+ importAnimation: 1
+ 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: 2
+ humanoidOversampling: 1
+ avatarSetup: 0
+ addHumanoidExtraRootOnlyWhenUsingAvatar: 1
+ importBlendShapeDeformPercent: 1
+ remapMaterialsIfMaterialImportModeIsNone: 0
+ additionalBone: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Models/Wall_Mesh.fbx b/Examples/OverridingScenesAndPrefabs/Assets/Models/Wall_Mesh.fbx
new file mode 100644
index 0000000000..0bfc7f6493
Binary files /dev/null and b/Examples/OverridingScenesAndPrefabs/Assets/Models/Wall_Mesh.fbx differ
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Models/Wall_Mesh.fbx.meta b/Examples/OverridingScenesAndPrefabs/Assets/Models/Wall_Mesh.fbx.meta
new file mode 100644
index 0000000000..15452589e0
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Models/Wall_Mesh.fbx.meta
@@ -0,0 +1,107 @@
+fileFormatVersion: 2
+guid: 34560503bf9d61046b252db98a8cf770
+ModelImporter:
+ serializedVersion: 22200
+ internalIDToNameTable: []
+ externalObjects: {}
+ materials:
+ materialImportMode: 2
+ 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: 1
+ importBlendShapes: 1
+ importCameras: 1
+ importLights: 1
+ 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: 1
+ strictVertexDataChecks: 0
+ tangentSpace:
+ normalSmoothAngle: 60
+ normalImportMode: 0
+ tangentImportMode: 3
+ normalCalculationMode: 4
+ legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
+ blendShapeNormalImportMode: 1
+ normalSmoothingSource: 0
+ referencedClips: []
+ importAnimation: 1
+ 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: 2
+ humanoidOversampling: 1
+ avatarSetup: 0
+ addHumanoidExtraRootOnlyWhenUsingAvatar: 1
+ importBlendShapeDeformPercent: 1
+ remapMaterialsIfMaterialImportModeIsNone: 0
+ additionalBone: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Prefabs.meta b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs.meta
new file mode 100644
index 0000000000..c867cd3a70
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4b97118ef11ec3347bc72b8d681e094b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/ClientPlayer.prefab b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/ClientPlayer.prefab
new file mode 100644
index 0000000000..78723f0b08
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/ClientPlayer.prefab
@@ -0,0 +1,468 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &1768978093373392434
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 4710599683293591777, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ propertyPath: m_Name
+ value: ClientPlayer
+ objectReference: {fileID: 0}
+ - target: {fileID: 5488962521685982563, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ propertyPath: GlobalObjectIdHash
+ value: 3304021165
+ objectReference: {fileID: 0}
+ - target: {fileID: 6582615468703263770, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ propertyPath: GlobalObjectIdHash
+ value: 3304021165
+ objectReference: {fileID: 0}
+ - target: {fileID: 7209693128479548322, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7209693128479548322, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7209693128479548322, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7209693128479548322, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 7209693128479548322, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7209693128479548322, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7209693128479548322, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7209693128479548322, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7209693128479548322, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7209693128479548322, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents:
+ - targetCorrespondingSourceObject: {fileID: 4710599683293591777, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 916832828106534790}
+ - targetCorrespondingSourceObject: {fileID: 4710599683293591777, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 4315296084954952915}
+ - targetCorrespondingSourceObject: {fileID: 4710599683293591777, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 8226639525103180092}
+ - targetCorrespondingSourceObject: {fileID: 3385537716926926172, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ insertIndex: 1
+ addedObject: {fileID: 1499413778802221178}
+ - targetCorrespondingSourceObject: {fileID: 3385537716926926172, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ insertIndex: 2
+ addedObject: {fileID: 3977729948622378772}
+ - targetCorrespondingSourceObject: {fileID: 9153294333356437960, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ insertIndex: 1
+ addedObject: {fileID: 1444122194983607567}
+ - targetCorrespondingSourceObject: {fileID: 9153294333356437960, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ insertIndex: 2
+ addedObject: {fileID: 2160506865115608745}
+ - targetCorrespondingSourceObject: {fileID: 324680519892629439, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ insertIndex: 1
+ addedObject: {fileID: 204575060996785653}
+ - targetCorrespondingSourceObject: {fileID: 324680519892629439, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ insertIndex: 2
+ addedObject: {fileID: 544477718306327008}
+ - targetCorrespondingSourceObject: {fileID: 1574061277261592297, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ insertIndex: 1
+ addedObject: {fileID: 8023734133310089212}
+ - targetCorrespondingSourceObject: {fileID: 1574061277261592297, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ insertIndex: 2
+ addedObject: {fileID: 5358980426924378504}
+ - targetCorrespondingSourceObject: {fileID: 7170742296219383225, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ insertIndex: 1
+ addedObject: {fileID: 8116266233139283823}
+ - targetCorrespondingSourceObject: {fileID: 7170742296219383225, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ insertIndex: 2
+ addedObject: {fileID: 6061467578651748175}
+ m_SourcePrefab: {fileID: 100100000, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+--- !u!1 &960564489074766043 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 1574061277261592297, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ m_PrefabInstance: {fileID: 1768978093373392434}
+ m_PrefabAsset: {fileID: 0}
+--- !u!33 &8023734133310089212
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 960564489074766043}
+ m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &5358980426924378504
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 960564489074766043}
+ 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: a53ba8919fa78c14caac473c7e7ce7d3, 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 &2021503815370961293 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 324680519892629439, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ m_PrefabInstance: {fileID: 1768978093373392434}
+ m_PrefabAsset: {fileID: 0}
+--- !u!33 &204575060996785653
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2021503815370961293}
+ m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &544477718306327008
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2021503815370961293}
+ 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: a53ba8919fa78c14caac473c7e7ce7d3, 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 &3924733872325380974 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 3385537716926926172, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ m_PrefabInstance: {fileID: 1768978093373392434}
+ m_PrefabAsset: {fileID: 0}
+--- !u!33 &1499413778802221178
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3924733872325380974}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &3977729948622378772
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3924733872325380974}
+ 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: 5324c76c2bab7344badd5ea27a40bcb5, 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 &6472733969592893139 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 4710599683293591777, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ m_PrefabInstance: {fileID: 1768978093373392434}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &916832828106534790
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6472733969592893139}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: bb9a9987a689bbe43a05463cf3713b22, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ ServerOnly: 0
+ UniqueLocalInstanceContent: ' Local content specific to ClientPlayer'
+--- !u!33 &4315296084954952915
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6472733969592893139}
+ m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &8226639525103180092
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6472733969592893139}
+ 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: a53ba8919fa78c14caac473c7e7ce7d3, 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 &7461238108046391290 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 9153294333356437960, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ m_PrefabInstance: {fileID: 1768978093373392434}
+ m_PrefabAsset: {fileID: 0}
+--- !u!33 &1444122194983607567
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7461238108046391290}
+ m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &2160506865115608745
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7461238108046391290}
+ 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: a53ba8919fa78c14caac473c7e7ce7d3, 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 &8867363453312856971 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 7170742296219383225, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ m_PrefabInstance: {fileID: 1768978093373392434}
+ m_PrefabAsset: {fileID: 0}
+--- !u!33 &8116266233139283823
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8867363453312856971}
+ m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &6061467578651748175
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8867363453312856971}
+ 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: a53ba8919fa78c14caac473c7e7ce7d3, 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}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/ClientPlayer.prefab.meta b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/ClientPlayer.prefab.meta
new file mode 100644
index 0000000000..75b0f6a314
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/ClientPlayer.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3e5167b6e6bcb5645abb2dbc0078091e
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Floor.physicMaterial b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Floor.physicMaterial
new file mode 100644
index 0000000000..5aeefdde15
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Floor.physicMaterial
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!134 &13400000
+PhysicsMaterial:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Floor
+ serializedVersion: 2
+ m_DynamicFriction: 2.5
+ m_StaticFriction: 2
+ m_Bounciness: 0
+ m_FrictionCombine: 3
+ m_BounceCombine: 2
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Floor.physicMaterial.meta b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Floor.physicMaterial.meta
new file mode 100644
index 0000000000..a55550d94a
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Floor.physicMaterial.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2c574f6ade946d94f9ec0183e3bc4579
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 13400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Ramp_Prefab.prefab b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Ramp_Prefab.prefab
new file mode 100644
index 0000000000..edcdf3071c
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Ramp_Prefab.prefab
@@ -0,0 +1,111 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &8924170145835402666
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8111781018561290000}
+ - component: {fileID: 5133274882688487605}
+ - component: {fileID: 6978882906433643647}
+ - component: {fileID: 894093325933845257}
+ m_Layer: 0
+ m_Name: Ramp_Prefab
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 73
+ m_IsActive: 1
+--- !u!4 &8111781018561290000
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8924170145835402666}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0.000000021855694, 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!33 &5133274882688487605
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8924170145835402666}
+ m_Mesh: {fileID: -6265776187016570482, guid: 4c31b0c9eb3dcdf4890cd904bf277cdf, type: 3}
+--- !u!23 &6978882906433643647
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8924170145835402666}
+ 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: 2e2c886f4af8e304eb9a1e2e50d023b3, 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: 2
+ 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 &894093325933845257
+MeshCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8924170145835402666}
+ 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: -8512782951310809723, guid: 426a2785f8a940049aac2c246661cf09, type: 3}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Ramp_Prefab.prefab.meta b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Ramp_Prefab.prefab.meta
new file mode 100644
index 0000000000..14e8009f6b
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Ramp_Prefab.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 7ab2ae375810b5641a36d327b9f022cf
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/RotatingBody.physicMaterial b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/RotatingBody.physicMaterial
new file mode 100644
index 0000000000..f76e8e1f5a
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/RotatingBody.physicMaterial
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!134 &13400000
+PhysicsMaterial:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: RotatingBody
+ serializedVersion: 2
+ m_DynamicFriction: 2.5
+ m_StaticFriction: 2
+ m_Bounciness: 0
+ m_FrictionCombine: 3
+ m_BounceCombine: 2
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/RotatingBody.physicMaterial.meta b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/RotatingBody.physicMaterial.meta
new file mode 100644
index 0000000000..4650ebf5b0
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/RotatingBody.physicMaterial.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c16e8d98094923449892b28a230ddb9c
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 13400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/RotatingBody.prefab b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/RotatingBody.prefab
new file mode 100644
index 0000000000..73c04c02fa
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/RotatingBody.prefab
@@ -0,0 +1,1138 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &755183729697733696
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 522841341294848418}
+ - component: {fileID: 6376943934387906635}
+ - component: {fileID: 4793038284696412839}
+ m_Layer: 0
+ m_Name: WallPusherA_Inner
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 73
+ m_IsActive: 1
+--- !u!4 &522841341294848418
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 755183729697733696}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 4.05, y: 2.27, z: 0}
+ m_LocalScale: {x: 4, y: 2, z: 2}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4291553105548296809}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &6376943934387906635
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 755183729697733696}
+ 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: 0.2, y: 2.25, z: 6}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &4793038284696412839
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 755183729697733696}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2c40721ca0fd31645a742e5ad0e0cdc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ PushDirection: 1
+ ToCenterDirOrig: {x: 0, y: 0, z: 0}
+ ToCenterDirCalc: {x: 0, y: 0, z: 0}
+ ToCenterDirTrans: {x: 0, y: 0, z: 0}
+--- !u!1 &1070469363212057228
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4967607898511807569}
+ - component: {fileID: 4081511419635538304}
+ - component: {fileID: 3264090684553753291}
+ - component: {fileID: 2074962368930179783}
+ - component: {fileID: 2659845886479429441}
+ - component: {fileID: 365707591732078506}
+ m_Layer: 0
+ m_Name: Tunnel_Prefab (1)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 73
+ m_IsActive: 1
+--- !u!4 &4967607898511807569
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1070469363212057228}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
+ m_LocalPosition: {x: 0, y: 5, z: 0}
+ m_LocalScale: {x: 4, y: 2, z: 2}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4291553105548296809}
+ m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!33 &4081511419635538304
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1070469363212057228}
+ m_Mesh: {fileID: 5060444177187149915, guid: 63fcabcd345d556498e09f748683088e, type: 3}
+--- !u!23 &3264090684553753291
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1070469363212057228}
+ 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: 2e2c886f4af8e304eb9a1e2e50d023b3, 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: 2
+ 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 &2074962368930179783
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1070469363212057228}
+ m_Material: {fileID: 13400000, guid: c16e8d98094923449892b28a230ddb9c, type: 2}
+ 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: 2.502674, y: 6.0000024, z: 0.25225586}
+ m_Center: {x: 0, y: -5.4553292e-15, z: 2.3838842}
+--- !u!65 &2659845886479429441
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1070469363212057228}
+ 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: 0.19382703, y: 6.0000024, z: 2.2399507}
+ m_Center: {x: -1.1314733, y: -1.7786642e-15, z: 1.1251621}
+--- !u!65 &365707591732078506
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1070469363212057228}
+ 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: 0.16720939, y: 6.0000024, z: 2.256102}
+ m_Center: {x: 1.1123942, y: -1.893427e-15, z: 1.1332378}
+--- !u!1 &1227036625448805321
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6179387521291227856}
+ - component: {fileID: 6043205804484853104}
+ - component: {fileID: 7583159525709273484}
+ - component: {fileID: 8095289646395249164}
+ m_Layer: 0
+ m_Name: Ramp_PrefabA
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 73
+ m_IsActive: 1
+--- !u!4 &6179387521291227856
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1227036625448805321}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0.000000021855694, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0.25, z: 7.993}
+ m_LocalScale: {x: 8, y: 0.5, z: 2}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 3394725634534525932}
+ m_Father: {fileID: 4291553105548296809}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &6043205804484853104
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1227036625448805321}
+ m_Mesh: {fileID: -6265776187016570482, guid: 4c31b0c9eb3dcdf4890cd904bf277cdf, type: 3}
+--- !u!23 &7583159525709273484
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1227036625448805321}
+ 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: 2e2c886f4af8e304eb9a1e2e50d023b3, 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: 2
+ 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 &8095289646395249164
+MeshCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1227036625448805321}
+ m_Material: {fileID: 13400000, guid: c16e8d98094923449892b28a230ddb9c, type: 2}
+ 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: 1
+ m_CookingOptions: 30
+ m_Mesh: {fileID: -6265776187016570482, guid: 4c31b0c9eb3dcdf4890cd904bf277cdf, type: 3}
+--- !u!1 &1451894099667441545
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3394725634534525932}
+ - component: {fileID: 2385627259374300527}
+ m_Layer: 0
+ m_Name: BridgeGap
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3394725634534525932
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1451894099667441545}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: 1, z: -0.000000021855694, w: 0}
+ m_LocalPosition: {x: 0, y: 0.14, z: -1.0100002}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 6179387521291227856}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!136 &2385627259374300527
+CapsuleCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1451894099667441545}
+ 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.1
+ m_Height: 1.15
+ m_Direction: 0
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &2406660182425334495
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1877966211327071347}
+ - component: {fileID: 3334163744623252575}
+ - component: {fileID: 5776191766534439988}
+ - component: {fileID: 6535282611511474253}
+ - component: {fileID: 8963258823839906869}
+ - component: {fileID: 7304575238635320140}
+ m_Layer: 0
+ m_Name: Tunnel_Prefab
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 73
+ m_IsActive: 1
+--- !u!4 &1877966211327071347
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2406660182425334495}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
+ m_LocalPosition: {x: 0, y: 4.96, z: 0}
+ m_LocalScale: {x: 4, y: 2, z: 2}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4291553105548296809}
+ m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
+--- !u!33 &3334163744623252575
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2406660182425334495}
+ m_Mesh: {fileID: 5060444177187149915, guid: 63fcabcd345d556498e09f748683088e, type: 3}
+--- !u!23 &5776191766534439988
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2406660182425334495}
+ 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: 2e2c886f4af8e304eb9a1e2e50d023b3, 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: 2
+ 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 &6535282611511474253
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2406660182425334495}
+ 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: 2.502674, y: 6.0000024, z: 0.258326}
+ m_Center: {x: 0, y: 5.4121983e-15, z: 2.3808491}
+--- !u!65 &8963258823839906869
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2406660182425334495}
+ 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: 0.2527809, y: 6.0000024, z: 2.2399507}
+ m_Center: {x: -1.1249466, y: 1.7786642e-15, z: 1.1251621}
+--- !u!65 &7304575238635320140
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2406660182425334495}
+ 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: 0.26525307, y: 6.0000024, z: 2.256102}
+ m_Center: {x: 1.1187105, y: 1.893427e-15, z: 1.1332378}
+--- !u!1 &2492174073242389836
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6182591213277846585}
+ - component: {fileID: 3395949877673187758}
+ m_Layer: 0
+ m_Name: BridgeGap (1)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6182591213277846585
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2492174073242389836}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -1, z: 0.000000021855694, w: 0}
+ m_LocalPosition: {x: 0, y: 0.14, z: -1.01}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 7826839884382864090}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!136 &3395949877673187758
+CapsuleCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2492174073242389836}
+ 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.1
+ m_Height: 1.15
+ m_Direction: 0
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &3038314618705458857
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3570252208687936609}
+ - component: {fileID: 4156819582579138816}
+ - component: {fileID: 2806575150631930745}
+ m_Layer: 0
+ m_Name: WallPusherB_Inner
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 73
+ m_IsActive: 1
+--- !u!4 &3570252208687936609
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3038314618705458857}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -4.07, y: 2.27, z: 0}
+ m_LocalScale: {x: 4, y: 2, z: 2}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4291553105548296809}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &4156819582579138816
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3038314618705458857}
+ 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: 0.2, y: 2.25, z: 6}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &2806575150631930745
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3038314618705458857}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2c40721ca0fd31645a742e5ad0e0cdc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ PushDirection: 0
+ ToCenterDirOrig: {x: 0, y: 0, z: 0}
+ ToCenterDirCalc: {x: 0, y: 0, z: 0}
+ ToCenterDirTrans: {x: 0, y: 0, z: 0}
+--- !u!1 &4405129256840456534
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5628673131512617452}
+ - component: {fileID: 1065561891622964567}
+ - component: {fileID: 4468158207537748033}
+ m_Layer: 0
+ m_Name: WallPusherA_Outer
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 73
+ m_IsActive: 1
+--- !u!4 &5628673131512617452
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4405129256840456534}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 4.89, y: 2.27, z: 0}
+ m_LocalScale: {x: 4, y: 2, z: 2}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4291553105548296809}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &1065561891622964567
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4405129256840456534}
+ 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: 0.2, y: 2.25, z: 6}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &4468158207537748033
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4405129256840456534}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2c40721ca0fd31645a742e5ad0e0cdc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ PushDirection: 0
+ ToCenterDirOrig: {x: 0, y: 0, z: 0}
+ ToCenterDirCalc: {x: 0, y: 0, z: 0}
+ ToCenterDirTrans: {x: 0, y: 0, z: 0}
+--- !u!1 &5415449980466536476
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4291553105548296809}
+ - component: {fileID: 8134939553748259768}
+ - component: {fileID: 3307166493715739449}
+ - component: {fileID: 850162744905636139}
+ m_Layer: 0
+ m_Name: RotatingBody
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4291553105548296809
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5415449980466536476}
+ 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: 1877966211327071347}
+ - {fileID: 4967607898511807569}
+ - {fileID: 522841341294848418}
+ - {fileID: 5628673131512617452}
+ - {fileID: 3570252208687936609}
+ - {fileID: 5389614242607036533}
+ - {fileID: 6179387521291227856}
+ - {fileID: 7826839884382864090}
+ - {fileID: 2053800158975384476}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &8134939553748259768
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5415449980466536476}
+ 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: 8.023605, y: 8.144613, z: 20.106205}
+ m_Center: {x: -0.03800702, y: 4.1726913, z: -0.02903366}
+--- !u!114 &3307166493715739449
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5415449980466536476}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ GlobalObjectIdHash: 1921503253
+ InScenePlacedSourceGlobalObjectIdHash: 0
+ DeferredDespawnTick: 0
+ Ownership: 2
+ AlwaysReplicateAsRoot: 0
+ SynchronizeTransform: 1
+ ActiveSceneSynchronization: 0
+ SceneMigrationSynchronization: 1
+ SpawnWithObservers: 1
+ DontDestroyWithOwner: 1
+ AutoObjectParentSync: 1
+ SyncOwnerTransformWhenParented: 1
+--- !u!114 &850162744905636139
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5415449980466536476}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 374ac199eb18f0f468bc018a722775c2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ AuthorityMode: 1
+ TickSyncChildren: 1
+ UseUnreliableDeltas: 0
+ SyncPositionX: 1
+ SyncPositionY: 1
+ SyncPositionZ: 1
+ SyncRotAngleX: 1
+ SyncRotAngleY: 1
+ SyncRotAngleZ: 1
+ SyncScaleX: 1
+ SyncScaleY: 1
+ SyncScaleZ: 1
+ PositionThreshold: 0.1
+ RotAngleThreshold: 0.01
+ ScaleThreshold: 0.1
+ UseQuaternionSynchronization: 1
+ UseQuaternionCompression: 0
+ UseHalfFloatPrecision: 0
+ InLocalSpace: 0
+ SwitchTransformSpaceWhenParented: 0
+ Interpolate: 1
+ SlerpPosition: 0
+ RotationSpeed: 0.25
+ RotateDirection: 0
+ ZAxisMove: 0
+--- !u!1 &5463907175177238004
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2053800158975384476}
+ - component: {fileID: 2688281628964240045}
+ m_Layer: 0
+ m_Name: Point Light
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2053800158975384476
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5463907175177238004}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 6.54, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4291553105548296809}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!108 &2688281628964240045
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5463907175177238004}
+ m_Enabled: 1
+ serializedVersion: 11
+ m_Type: 2
+ m_Color: {r: 0.9622642, g: 0.9622642, b: 0.9622642, a: 1}
+ m_Intensity: 2
+ m_Range: 20
+ m_SpotAngle: 30
+ m_InnerSpotAngle: 21.80208
+ m_CookieSize: 10
+ m_Shadows:
+ m_Type: 0
+ 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
+ m_LightUnit: 1
+ m_LuxAtDistance: 1
+ m_EnableSpotReflector: 1
+--- !u!1 &6529740436184164063
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7826839884382864090}
+ - component: {fileID: 2797882924116045225}
+ - component: {fileID: 1097787484049525257}
+ - component: {fileID: 570708159460268413}
+ m_Layer: 0
+ m_Name: Ramp_PrefabB
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 73
+ m_IsActive: 1
+--- !u!4 &7826839884382864090
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6529740436184164063}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
+ m_LocalPosition: {x: 0, y: 0.25, z: -7.993}
+ m_LocalScale: {x: 8, y: 0.5, z: 2}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 6182591213277846585}
+ m_Father: {fileID: 4291553105548296809}
+ m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
+--- !u!33 &2797882924116045225
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6529740436184164063}
+ m_Mesh: {fileID: -6265776187016570482, guid: 4c31b0c9eb3dcdf4890cd904bf277cdf, type: 3}
+--- !u!23 &1097787484049525257
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6529740436184164063}
+ 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: 2e2c886f4af8e304eb9a1e2e50d023b3, 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: 2
+ 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 &570708159460268413
+MeshCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6529740436184164063}
+ m_Material: {fileID: 13400000, guid: c16e8d98094923449892b28a230ddb9c, type: 2}
+ 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: 1
+ m_CookingOptions: 30
+ m_Mesh: {fileID: -6265776187016570482, guid: 4c31b0c9eb3dcdf4890cd904bf277cdf, type: 3}
+--- !u!1 &8002386465640125644
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5389614242607036533}
+ - component: {fileID: 4101224782146625552}
+ - component: {fileID: 6895917012766152111}
+ m_Layer: 0
+ m_Name: WallPusherB_Outer
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 73
+ m_IsActive: 1
+--- !u!4 &5389614242607036533
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8002386465640125644}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -4.83, y: 2.27, z: 0}
+ m_LocalScale: {x: 4, y: 2, z: 2}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4291553105548296809}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &4101224782146625552
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8002386465640125644}
+ 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: 0.2, y: 2.25, z: 6}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &6895917012766152111
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8002386465640125644}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2c40721ca0fd31645a742e5ad0e0cdc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ PushDirection: 1
+ ToCenterDirOrig: {x: 0, y: 0, z: 0}
+ ToCenterDirCalc: {x: 0, y: 0, z: 0}
+ ToCenterDirTrans: {x: 0, y: 0, z: 0}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/RotatingBody.prefab.meta b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/RotatingBody.prefab.meta
new file mode 100644
index 0000000000..d22d47036e
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/RotatingBody.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 0123d7125346c274da00b38e950a266b
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/SceneLevelGeometry.prefab b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/SceneLevelGeometry.prefab
new file mode 100644
index 0000000000..f636c60a54
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/SceneLevelGeometry.prefab
@@ -0,0 +1,794 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &910007655143077103
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6283120762215196916}
+ - component: {fileID: 3739510624437302406}
+ m_Layer: 0
+ m_Name: CornerBumper (1)
+ m_TagString: Boundary
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6283120762215196916
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 910007655143077103}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0.9244967, z: -0, w: -0.38119}
+ m_LocalPosition: {x: -29.72, y: 0.98, z: 29.82}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4012615692778511849}
+ m_LocalEulerAnglesHint: {x: 0, y: -224.815, z: 0}
+--- !u!65 &3739510624437302406
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 910007655143077103}
+ 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: 4, y: 2, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &1854705290947220173
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2290144462706082272}
+ - component: {fileID: 4559046433245738380}
+ m_Layer: 0
+ m_Name: CornerBumper (2)
+ m_TagString: Boundary
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2290144462706082272
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1854705290947220173}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0.3771283, z: -0, w: -0.92616105}
+ m_LocalPosition: {x: -29.53, y: 0.98, z: -29.71}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4012615692778511849}
+ m_LocalEulerAnglesHint: {x: 0, y: -315.688, z: 0}
+--- !u!65 &4559046433245738380
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1854705290947220173}
+ 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: 4, y: 2, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &4012615691354089848
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4012615691354089844}
+ - component: {fileID: 4012615691354089845}
+ - component: {fileID: 4012615691354089850}
+ - component: {fileID: 4012615691354089851}
+ m_Layer: 0
+ m_Name: Floor
+ m_TagString: Floor
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4012615691354089844
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615691354089848}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: -0.50000006, z: 0}
+ m_LocalScale: {x: 60, y: 1, z: 60}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4012615692778511849}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &4012615691354089845
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615691354089848}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &4012615691354089850
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615691354089848}
+ 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: 42c4a0ad1f9d67a45b12f68697321aad, 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 &4012615691354089851
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615691354089848}
+ m_Material: {fileID: 13400000, guid: 2c574f6ade946d94f9ec0183e3bc4579, type: 2}
+ 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 &4012615691503252843
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4012615691503252839}
+ - component: {fileID: 4012615691503252836}
+ - component: {fileID: 4012615691503252837}
+ - component: {fileID: 4012615691503252842}
+ m_Layer: 0
+ m_Name: Side
+ m_TagString: Boundary
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4012615691503252839
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615691503252843}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: -30.5, y: 0.49999994, z: 0}
+ m_LocalScale: {x: 1, y: 3, z: 62}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4012615692778511849}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &4012615691503252836
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615691503252843}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &4012615691503252837
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615691503252843}
+ 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: 9c73b921ea39f4344a19c2d1c7d6b314, 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 &4012615691503252842
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615691503252843}
+ 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: 2, y: 1, z: 1}
+ m_Center: {x: -0.5, y: 0, z: 0}
+--- !u!1 &4012615691965054905
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4012615691965054901}
+ - component: {fileID: 4012615691965054906}
+ - component: {fileID: 4012615691965054907}
+ - component: {fileID: 4012615691965054904}
+ m_Layer: 0
+ m_Name: Side
+ m_TagString: Boundary
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4012615691965054901
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615691965054905}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0.49999994, z: 30.5}
+ m_LocalScale: {x: 60, y: 3, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4012615692778511849}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &4012615691965054906
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615691965054905}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &4012615691965054907
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615691965054905}
+ 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: 9c73b921ea39f4344a19c2d1c7d6b314, 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 &4012615691965054904
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615691965054905}
+ 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: 2}
+ m_Center: {x: 0, y: 0, z: 0.5}
+--- !u!1 &4012615692269653858
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4012615692269653854}
+ - component: {fileID: 4012615692269653855}
+ - component: {fileID: 4012615692269653852}
+ - component: {fileID: 4012615692269653853}
+ m_Layer: 0
+ m_Name: Side
+ m_TagString: Boundary
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4012615692269653854
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615692269653858}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0.49999994, z: -30.5}
+ m_LocalScale: {x: 60, y: 3, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4012615692778511849}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &4012615692269653855
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615692269653858}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &4012615692269653852
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615692269653858}
+ 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: 9c73b921ea39f4344a19c2d1c7d6b314, 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 &4012615692269653853
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615692269653858}
+ 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: 2}
+ m_Center: {x: 0, y: 0, z: -0.5}
+--- !u!1 &4012615692778511854
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4012615692778511849}
+ m_Layer: 0
+ m_Name: SceneLevelGeometry
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4012615692778511849
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615692778511854}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0.000000059604645, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 4012615691354089844}
+ - {fileID: 4012615691965054901}
+ - {fileID: 4012615692269653854}
+ - {fileID: 4012615691503252839}
+ - {fileID: 4012615692791378778}
+ - {fileID: 3910294717376836327}
+ - {fileID: 6283120762215196916}
+ - {fileID: 2290144462706082272}
+ - {fileID: 6959258897999621209}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &4012615692791378782
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4012615692791378778}
+ - component: {fileID: 4012615692791378779}
+ - component: {fileID: 4012615692791378776}
+ - component: {fileID: 4012615692791378777}
+ m_Layer: 0
+ m_Name: Side
+ m_TagString: Boundary
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4012615692791378778
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615692791378782}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 30.5, y: 0.49999994, z: 0}
+ m_LocalScale: {x: 1, y: 3, z: 62}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4012615692778511849}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &4012615692791378779
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615692791378782}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &4012615692791378776
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615692791378782}
+ 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: 9c73b921ea39f4344a19c2d1c7d6b314, 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 &4012615692791378777
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4012615692791378782}
+ 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: 2, y: 1, z: 1}
+ m_Center: {x: 0.5, y: 0, z: 0}
+--- !u!1 &4674276234353933548
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3910294717376836327}
+ - component: {fileID: 3136259738973340924}
+ m_Layer: 0
+ m_Name: CornerBumper
+ m_TagString: Boundary
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3910294717376836327
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4674276234353933548}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: -0.38268343, z: 0, w: 0.92387956}
+ m_LocalPosition: {x: 29.7, y: 0.98, z: -29.61}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4012615692778511849}
+ m_LocalEulerAnglesHint: {x: 0, y: -45, z: 0}
+--- !u!65 &3136259738973340924
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4674276234353933548}
+ 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: 4, y: 2, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &7080625901286762351
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6959258897999621209}
+ - component: {fileID: 7672408768716900064}
+ m_Layer: 0
+ m_Name: CornerBumper (3)
+ m_TagString: Boundary
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6959258897999621209
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7080625901286762351}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: 0.93588465, z: -0, w: -0.35230666}
+ m_LocalPosition: {x: 29.26, y: 0.98, z: 29.45}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4012615692778511849}
+ m_LocalEulerAnglesHint: {x: 0, y: -498.74298, z: 0}
+--- !u!65 &7672408768716900064
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7080625901286762351}
+ 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: 4, y: 2, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/SceneLevelGeometry.prefab.meta b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/SceneLevelGeometry.prefab.meta
new file mode 100644
index 0000000000..154fd718e7
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/SceneLevelGeometry.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3ec484313a7a6754dac871e620df8db2
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/ServerPlayer.prefab b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/ServerPlayer.prefab
new file mode 100644
index 0000000000..8e6ca8383c
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/ServerPlayer.prefab
@@ -0,0 +1,656 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &324680519892629439
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7909757205025274661}
+ - component: {fileID: 4497278534226153218}
+ m_Layer: 0
+ m_Name: PlayerBallChild1
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7909757205025274661
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 324680519892629439}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 1, y: 0, z: 0}
+ m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 8978127728034846793}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &4497278534226153218
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 324680519892629439}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 792d7ce524eb358469373fe12babef88, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ ShowTopMostFoldoutHeaderGroup: 1
+ NetworkTransformExpanded: 0
+ AuthorityMode: 1
+ TickSyncChildren: 0
+ UseUnreliableDeltas: 0
+ 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: 1
+ UseQuaternionCompression: 0
+ UseHalfFloatPrecision: 0
+ InLocalSpace: 1
+ SwitchTransformSpaceWhenParented: 0
+ Interpolate: 1
+ SlerpPosition: 1
+ ExpandPlayerBallMotion: 1
+ ExpandNetworkTransform: 1
+ RotationAxis: 2
+ RotationSpeed: 1.5
+--- !u!1 &1574061277261592297
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2851817463696415024}
+ - component: {fileID: 8353621747658706578}
+ m_Layer: 0
+ m_Name: PlayerBallChild2
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2851817463696415024
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1574061277261592297}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: -1, y: 0, z: 0}
+ m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 8978127728034846793}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &8353621747658706578
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1574061277261592297}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 792d7ce524eb358469373fe12babef88, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ ShowTopMostFoldoutHeaderGroup: 1
+ NetworkTransformExpanded: 0
+ AuthorityMode: 1
+ TickSyncChildren: 0
+ UseUnreliableDeltas: 0
+ 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: 1
+ UseQuaternionCompression: 0
+ UseHalfFloatPrecision: 0
+ InLocalSpace: 1
+ SwitchTransformSpaceWhenParented: 0
+ Interpolate: 1
+ SlerpPosition: 1
+ ExpandPlayerBallMotion: 0
+ ExpandNetworkTransform: 1
+ RotationAxis: 0
+ RotationSpeed: 1.5
+--- !u!1 &3152047010790481352
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2530875210329125868}
+ - component: {fileID: 7166766943079311595}
+ - component: {fileID: 2218667139823191844}
+ m_Layer: 0
+ m_Name: ParentedText
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2530875210329125868
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3152047010790481352}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 1.91, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 7209693128479548322}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &7166766943079311595
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3152047010790481352}
+ 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: 10100, guid: 0000000000000000e000000000000000, type: 0}
+ 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!102 &2218667139823191844
+TextMesh:
+ serializedVersion: 3
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3152047010790481352}
+ m_Text: "Hello \nWorld"
+ m_OffsetZ: 0
+ m_CharacterSize: 0.15
+ m_LineSpacing: 1
+ m_Anchor: 4
+ m_Alignment: 1
+ m_TabSize: 4
+ m_FontSize: 20
+ m_FontStyle: 1
+ m_RichText: 1
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_Color:
+ serializedVersion: 2
+ rgba: 4294967295
+--- !u!1 &3385537716926926172
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6528377011520223688}
+ - component: {fileID: 7760305833775493645}
+ m_Layer: 0
+ m_Name: Direction
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6528377011520223688
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3385537716926926172}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0.529, z: 0.36}
+ m_LocalScale: {x: 0.5, y: 0.35, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 7209693128479548322}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &7760305833775493645
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3385537716926926172}
+ 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: 0
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &4710599683293591777
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7209693128479548322}
+ - component: {fileID: 2033351919148783259}
+ - component: {fileID: 1689822717476917681}
+ - component: {fileID: 6582615468703263770}
+ - component: {fileID: 996823777406759075}
+ - component: {fileID: 4107659158848356731}
+ - component: {fileID: 8869001495323625783}
+ - component: {fileID: 769922645502876198}
+ m_Layer: 0
+ m_Name: ServerPlayer
+ m_TagString: Player
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7209693128479548322
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4710599683293591777}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 1, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 6528377011520223688}
+ - {fileID: 2530875210329125868}
+ - {fileID: 8978127728034846793}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!136 &2033351919148783259
+CapsuleCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4710599683293591777}
+ 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: 2
+ m_Direction: 1
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!143 &1689822717476917681
+CharacterController:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4710599683293591777}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Height: 2
+ m_Radius: 0.5
+ m_SlopeLimit: 45
+ m_StepOffset: 0.3
+ m_SkinWidth: 0.08
+ m_MinMoveDistance: 0.001
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &6582615468703263770
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4710599683293591777}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ GlobalObjectIdHash: 2883015141
+ InScenePlacedSourceGlobalObjectIdHash: 2508530451
+ DeferredDespawnTick: 0
+ Ownership: 0
+ AlwaysReplicateAsRoot: 0
+ SynchronizeTransform: 1
+ ActiveSceneSynchronization: 0
+ SceneMigrationSynchronization: 1
+ SpawnWithObservers: 1
+ DontDestroyWithOwner: 0
+ AutoObjectParentSync: 1
+ SyncOwnerTransformWhenParented: 0
+ AllowOwnerToParent: 1
+--- !u!114 &996823777406759075
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4710599683293591777}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8e5128237997be649af0cc87dd0eb563, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ ShowTopMostFoldoutHeaderGroup: 1
+ ApplyColorToChildren: 1
+ IgnoreChildren:
+ - {fileID: 3385537716926926172}
+--- !u!114 &4107659158848356731
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4710599683293591777}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5ce25b0b3f15e6446a88a85787c2f94a, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ ShowTopMostFoldoutHeaderGroup: 1
+ NetworkTransformExpanded: 0
+ AuthorityMode: 1
+ TickSyncChildren: 1
+ UseUnreliableDeltas: 0
+ SyncPositionX: 1
+ SyncPositionY: 1
+ SyncPositionZ: 1
+ SyncRotAngleX: 1
+ SyncRotAngleY: 1
+ SyncRotAngleZ: 1
+ SyncScaleX: 1
+ SyncScaleY: 1
+ SyncScaleZ: 1
+ PositionThreshold: 0.01
+ RotAngleThreshold: 0.01
+ ScaleThreshold: 0.1
+ UseQuaternionSynchronization: 1
+ UseQuaternionCompression: 0
+ UseHalfFloatPrecision: 0
+ InLocalSpace: 0
+ SwitchTransformSpaceWhenParented: 1
+ Interpolate: 1
+ SlerpPosition: 0
+ MoverScriptNoRigidbodyExpanded: 0
+ SpawnRadius: 10
+ Increment: 1
+ RotationSpeed: 1.26
+ MovementSpeed: 15
+ JumpSpeed: 10
+ AirSpeedFactor: 0.35
+ Gravity: -9.8
+ ContinualChildMotion: 1
+--- !u!65 &8869001495323625783
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4710599683293591777}
+ 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.4, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &769922645502876198
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4710599683293591777}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: bb9a9987a689bbe43a05463cf3713b22, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ ServerOnly: 1
+ UniqueLocalInstanceContent: ServerPlayer specific local content
+--- !u!1 &7170742296219383225
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5575000075487772256}
+ - component: {fileID: 974108613365902635}
+ m_Layer: 0
+ m_Name: PlayerBallChild3
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5575000075487772256
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7170742296219383225}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 1}
+ m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 8978127728034846793}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &974108613365902635
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7170742296219383225}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 792d7ce524eb358469373fe12babef88, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ ShowTopMostFoldoutHeaderGroup: 1
+ NetworkTransformExpanded: 0
+ AuthorityMode: 1
+ TickSyncChildren: 0
+ UseUnreliableDeltas: 0
+ 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: 1
+ UseQuaternionCompression: 0
+ UseHalfFloatPrecision: 0
+ InLocalSpace: 1
+ SwitchTransformSpaceWhenParented: 0
+ Interpolate: 1
+ SlerpPosition: 1
+ ExpandPlayerBallMotion: 1
+ ExpandNetworkTransform: 1
+ RotationAxis: 1
+ RotationSpeed: 1.5
+--- !u!1 &9153294333356437960
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8978127728034846793}
+ - component: {fileID: 9124254747570484083}
+ m_Layer: 0
+ m_Name: PlayerBallPrime
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &8978127728034846793
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 9153294333356437960}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 1.25, y: 0, z: 0}
+ m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 7909757205025274661}
+ - {fileID: 2851817463696415024}
+ - {fileID: 5575000075487772256}
+ m_Father: {fileID: 7209693128479548322}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &9124254747570484083
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 9153294333356437960}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 792d7ce524eb358469373fe12babef88, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ ShowTopMostFoldoutHeaderGroup: 1
+ NetworkTransformExpanded: 0
+ AuthorityMode: 1
+ TickSyncChildren: 0
+ UseUnreliableDeltas: 0
+ 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: 1
+ UseQuaternionCompression: 0
+ UseHalfFloatPrecision: 0
+ InLocalSpace: 1
+ SwitchTransformSpaceWhenParented: 0
+ Interpolate: 1
+ SlerpPosition: 1
+ ExpandPlayerBallMotion: 1
+ ExpandNetworkTransform: 1
+ RotationAxis: 0
+ RotationSpeed: 1.5
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/ServerPlayer.prefab.meta b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/ServerPlayer.prefab.meta
new file mode 100644
index 0000000000..c28eb79b02
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/ServerPlayer.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 90bfa3cd2cce8f14ead59b4dbdae92bb
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Tunnel_Prefab.prefab b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Tunnel_Prefab.prefab
new file mode 100644
index 0000000000..c596d7333d
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Tunnel_Prefab.prefab
@@ -0,0 +1,154 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &1604908963751126680
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2093637950428003362}
+ - component: {fileID: 3071950872142852999}
+ - component: {fileID: 956227959320364877}
+ - component: {fileID: 4985949235297978144}
+ - component: {fileID: 8456313914433245678}
+ - component: {fileID: 1138964657491743937}
+ m_Layer: 0
+ m_Name: Tunnel_Prefab
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 73
+ m_IsActive: 1
+--- !u!4 &2093637950428003362
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1604908963751126680}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
+ 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: -90.00001, y: 0, z: 0}
+--- !u!33 &3071950872142852999
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1604908963751126680}
+ m_Mesh: {fileID: 5060444177187149915, guid: 63fcabcd345d556498e09f748683088e, type: 3}
+--- !u!23 &956227959320364877
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1604908963751126680}
+ 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: 2e2c886f4af8e304eb9a1e2e50d023b3, 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: 2
+ 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 &4985949235297978144
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1604908963751126680}
+ 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: 2.502674, y: 6.0000024, z: 0.258326}
+ m_Center: {x: 0, y: 5.4121983e-15, z: 2.3808491}
+--- !u!65 &8456313914433245678
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1604908963751126680}
+ 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: 0.2527809, y: 6.0000024, z: 2.2399507}
+ m_Center: {x: -1.1249466, y: 1.7786642e-15, z: 1.1251621}
+--- !u!65 &1138964657491743937
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1604908963751126680}
+ 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: 0.26525307, y: 6.0000024, z: 2.256102}
+ m_Center: {x: 1.1187105, y: 1.893427e-15, z: 1.1332378}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Tunnel_Prefab.prefab.meta b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Tunnel_Prefab.prefab.meta
new file mode 100644
index 0000000000..58def4a902
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Tunnel_Prefab.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 4b50ff3d475fc3f4fa77ac6aa6e679f2
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Wall_Prefab.prefab b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Wall_Prefab.prefab
new file mode 100644
index 0000000000..f8dde4effc
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Wall_Prefab.prefab
@@ -0,0 +1,132 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &7993119983977949264
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7324705577624711914}
+ - component: {fileID: 5911343394670230863}
+ - component: {fileID: 8497650616581704069}
+ - component: {fileID: 9105854698657379725}
+ - component: {fileID: 1277700310800588604}
+ m_Layer: 0
+ m_Name: Wall_Prefab
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 73
+ m_IsActive: 1
+--- !u!4 &7324705577624711914
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7993119983977949264}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0.000000021855694, 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!33 &5911343394670230863
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7993119983977949264}
+ m_Mesh: {fileID: 6352809919239313146, guid: 34560503bf9d61046b252db98a8cf770, type: 3}
+--- !u!23 &8497650616581704069
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7993119983977949264}
+ 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: 2e2c886f4af8e304eb9a1e2e50d023b3, 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: 2
+ 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 &9105854698657379725
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7993119983977949264}
+ 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: 0.25, y: 1.0095696, z: 2.9958286}
+ m_Center: {x: 0, y: 0.5047848, z: 1.5020857}
+--- !u!65 &1277700310800588604
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7993119983977949264}
+ 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: 0.25, y: 2.0055175, z: 3.000146}
+ m_Center: {x: 0, y: 1.0027587, z: -1.499927}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Wall_Prefab.prefab.meta b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Wall_Prefab.prefab.meta
new file mode 100644
index 0000000000..42ef5284f2
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Prefabs/Wall_Prefab.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3b9516be83427084ca3fffca42e7b6da
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Resources.meta b/Examples/OverridingScenesAndPrefabs/Assets/Resources.meta
new file mode 100644
index 0000000000..edebf21a13
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Resources.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6a51a9fbd254e544eb3e85853865f80d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Resources/BillingMode.json b/Examples/OverridingScenesAndPrefabs/Assets/Resources/BillingMode.json
new file mode 100644
index 0000000000..6f4bfb7103
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Resources/BillingMode.json
@@ -0,0 +1 @@
+{"androidStore":"GooglePlay"}
\ No newline at end of file
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Resources/BillingMode.json.meta b/Examples/OverridingScenesAndPrefabs/Assets/Resources/BillingMode.json.meta
new file mode 100644
index 0000000000..557e7d707c
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Resources/BillingMode.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: a1890189503409a4bb24dd4f0eab1f0a
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scenes.meta b/Examples/OverridingScenesAndPrefabs/Assets/Scenes.meta
new file mode 100644
index 0000000000..b398c5b4ab
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scenes.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9bb955f9d9ef9c34d897f353c8643a1d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scenes/BootstrapScene.unity b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/BootstrapScene.unity
new file mode 100644
index 0000000000..1493ee48f9
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/BootstrapScene.unity
@@ -0,0 +1,282 @@
+%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_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 13
+ m_BakeOnSceneLoad: 0
+ 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: 1
+ m_PVRFilteringGaussRadiusAO: 1
+ 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 &455857869
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 455857870}
+ - component: {fileID: 455857873}
+ - component: {fileID: 455857874}
+ - component: {fileID: 455857872}
+ - component: {fileID: 455857871}
+ m_Layer: 0
+ m_Name: NetworkManagerBootstrapper
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &455857870
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 455857869}
+ 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 &455857871
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 455857869}
+ 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
+--- !u!114 &455857872
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 455857869}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 7db19e0e150e50d4ab23c69a086b8b6e, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ NetworkManagerExpanded: 1
+ NetworkConfig:
+ ProtocolVersion: 0
+ NetworkTransport: {fileID: 455857871}
+ PlayerPrefab: {fileID: 4710599683293591777, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ Prefabs:
+ NetworkPrefabsLists:
+ - {fileID: 11400000, guid: 3d25a2b1f6c12ee47bf7601c2edd7e70, type: 2}
+ 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
+ NetworkTopology: 0
+ UseCMBService: 0
+ AutoSpawnPlayerPrefabClientSide: 1
+ NetworkProfilingMetrics: 1
+ OldPrefabList: []
+ RunInBackground: 1
+ LogLevel: 1
+ NetworkManagerBootstrapperExpanded: 1
+ TargetFrameRate: 100
+ EnableVSync: 0
+ m_OriginalVSyncCount: 1
+ m_ServicesRegistered: 1
+--- !u!114 &455857873
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 455857869}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: c4251d3d650053a419a5c503babb13a6, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ SceneBootstrapLoaderExpanded: 0
+ MainMenuSceneAsset: {fileID: 102900000, guid: 1ec6afcedd7df124e91af7bfbcea59b2, type: 3}
+ ServerSceneDefines:
+ DefaultActiveScene: SharedScene
+ LocalScenes:
+ - ServerScene
+ DefaultActiveSceneAsset: {fileID: 102900000, guid: 9fc0d4010bbf28b4594072e72b8655ab, type: 3}
+ LocalSceneAssets:
+ - {fileID: 102900000, guid: ee7bfa213000a594bb8011364915602e, type: 3}
+ SharedScenes: []
+ SharedSceneAssets: []
+ ClientSceneDefines:
+ DefaultActiveScene: SharedScene
+ LocalScenes:
+ - ClientScene
+ DefaultActiveSceneAsset: {fileID: 102900000, guid: 9fc0d4010bbf28b4594072e72b8655ab, type: 3}
+ LocalSceneAssets:
+ - {fileID: 102900000, guid: d8ac305138d51a84dbbb734b81c4054e, type: 3}
+ m_MainMenuScene: MainMenu
+--- !u!114 &455857874
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 455857869}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5c472ff64b067344893ed2e632d0f9f1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ NetworkPrefab: {fileID: 4710599683293591777, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ NetworkPrefabOverride: {fileID: 6472733969592893139, guid: 3e5167b6e6bcb5645abb2dbc0078091e, type: 3}
+--- !u!1660057539 &9223372036854775807
+SceneRoots:
+ m_ObjectHideFlags: 0
+ m_Roots:
+ - {fileID: 455857870}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scenes/BootstrapScene.unity.meta b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/BootstrapScene.unity.meta
new file mode 100644
index 0000000000..e2c316c516
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/BootstrapScene.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 8077653236d44fd4b92cd4a96193e8b6
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scenes/Camera.preset b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/Camera.preset
new file mode 100644
index 0000000000..b8bbae0a72
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/Camera.preset
@@ -0,0 +1,195 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!181963792 &2655988077585873504
+Preset:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Camera
+ m_TargetType:
+ m_NativeTypeID: 20
+ m_ManagedTypePPtr: {fileID: 0}
+ m_ManagedTypeFallback:
+ m_Properties:
+ - target: {fileID: 0}
+ propertyPath: m_Enabled
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_ClearFlags
+ value: 2
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_BackGroundColor.r
+ value: 0.066037714
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_BackGroundColor.g
+ value: 0.066037714
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_BackGroundColor.b
+ value: 0.066037714
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_BackGroundColor.a
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_projectionMatrixMode
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_GateFitMode
+ value: 2
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_FOVAxisMode
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Iso
+ value: 200
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_ShutterSpeed
+ value: 0.005
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Aperture
+ value: 16
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_FocusDistance
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_FocalLength
+ value: 50
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_BladeCount
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Curvature.x
+ value: 2
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Curvature.y
+ value: 11
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_BarrelClipping
+ value: 0.25
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Anamorphism
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_SensorSize.x
+ value: 36
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_SensorSize.y
+ value: 24
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_LensShift.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_LensShift.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_NormalizedViewPortRect.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_NormalizedViewPortRect.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_NormalizedViewPortRect.width
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_NormalizedViewPortRect.height
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: near clip plane
+ value: 0.3
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: far clip plane
+ value: 1000
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: field of view
+ value: 60
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: orthographic
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: orthographic size
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Depth
+ value: -1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_CullingMask.m_Bits
+ value: 4294967295
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_RenderingPath
+ value: -1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_TargetTexture
+ value:
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_TargetDisplay
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_TargetEye
+ value: 3
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_HDR
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_AllowMSAA
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_AllowDynamicResolution
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_ForceIntoRT
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_OcclusionCulling
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_StereoConvergence
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_StereoSeparation
+ value: 0.022
+ objectReference: {fileID: 0}
+ m_ExcludedProperties: []
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scenes/Camera.preset.meta b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/Camera.preset.meta
new file mode 100644
index 0000000000..3e327ecf36
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/Camera.preset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1807b530602915743868e6c3bdc1a93c
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2655988077585873504
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scenes/ClientScene.unity b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/ClientScene.unity
new file mode 100644
index 0000000000..06eaad444d
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/ClientScene.unity
@@ -0,0 +1,382 @@
+%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_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 13
+ m_BakeOnSceneLoad: 0
+ 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: 1
+ m_PVRFilteringGaussRadiusAO: 1
+ 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!1001 &27008424
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 3
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 3
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: -0.25
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511854, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_Name
+ value: SceneLevelGeometry (1)
+ objectReference: {fileID: 0}
+ m_RemovedComponents:
+ - {fileID: 4012615691354089851, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ - {fileID: 4012615692791378777, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ - {fileID: 4012615691503252842, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ - {fileID: 4012615692269653853, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ - {fileID: 4012615691965054904, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ m_RemovedGameObjects:
+ - {fileID: 7080625901286762351, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ - {fileID: 1854705290947220173, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ - {fileID: 910007655143077103, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ - {fileID: 4674276234353933548, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+--- !u!1 &638077906
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 638077907}
+ - component: {fileID: 638077911}
+ - component: {fileID: 638077910}
+ m_Layer: 5
+ m_Name: ClientContent
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &638077907
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 638077906}
+ 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: 1082114250}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 1}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: -32}
+ m_SizeDelta: {x: 180, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &638077910
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 638077906}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.8396226, g: 0.48815125, b: 0.019802418, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 23
+ m_FontStyle: 1
+ m_BestFit: 1
+ m_MinSize: 1
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Client Canvas Content
+--- !u!222 &638077911
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 638077906}
+ m_CullTransparentMesh: 1
+--- !u!1 &1082114246
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1082114250}
+ - component: {fileID: 1082114249}
+ - component: {fileID: 1082114248}
+ - component: {fileID: 1082114247}
+ m_Layer: 5
+ m_Name: ClientCanvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1082114247
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1082114246}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &1082114248
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1082114246}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 0
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 800, y: 600}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+ m_PresetInfoIsWorld: 0
+--- !u!223 &1082114249
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1082114246}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_VertexColorAlwaysGammaSpace: 0
+ m_AdditionalShaderChannelsFlag: 0
+ m_UpdateRectTransformForStandalone: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &1082114250
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1082114246}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 638077907}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!1660057539 &9223372036854775807
+SceneRoots:
+ m_ObjectHideFlags: 0
+ m_Roots:
+ - {fileID: 1082114250}
+ - {fileID: 27008424}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scenes/ClientScene.unity.meta b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/ClientScene.unity.meta
new file mode 100644
index 0000000000..65393dbc64
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/ClientScene.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d8ac305138d51a84dbbb734b81c4054e
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scenes/MainMenu.unity b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/MainMenu.unity
new file mode 100644
index 0000000000..45e6ae776b
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/MainMenu.unity
@@ -0,0 +1,607 @@
+%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_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 13
+ m_BakeOnSceneLoad: 0
+ 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: 1
+ m_PVRFilteringGaussRadiusAO: 1
+ 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 &559666861
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 559666865}
+ - component: {fileID: 559666864}
+ - component: {fileID: 559666863}
+ - component: {fileID: 559666862}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &559666862
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 559666861}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &559666863
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 559666861}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 0
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 800, y: 600}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+ m_PresetInfoIsWorld: 0
+--- !u!223 &559666864
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 559666861}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_VertexColorAlwaysGammaSpace: 0
+ m_AdditionalShaderChannelsFlag: 0
+ m_UpdateRectTransformForStandalone: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &559666865
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 559666861}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1419645487}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!1 &1031380542
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1031380545}
+ - component: {fileID: 1031380544}
+ - component: {fileID: 1031380543}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1031380543
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1031380542}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_SendPointerHoverToParent: 1
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &1031380544
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1031380542}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 10
+--- !u!4 &1031380545
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1031380542}
+ 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!1 &1273064315
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1273064318}
+ - component: {fileID: 1273064317}
+ - component: {fileID: 1273064316}
+ 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 &1273064316
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1273064315}
+ m_Enabled: 1
+--- !u!20 &1273064317
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1273064315}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 2
+ m_BackGroundColor: {r: 0.16037738, g: 0.16037738, b: 0.16037738, a: 1}
+ 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: -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 &1273064318
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1273064315}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 1, z: -10}
+ 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!1 &1346095180
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1346095182}
+ - component: {fileID: 1346095181}
+ 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 &1346095181
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1346095180}
+ m_Enabled: 1
+ serializedVersion: 11
+ m_Type: 1
+ 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: 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
+ m_LightUnit: 1
+ m_LuxAtDistance: 1
+ m_EnableSpotReflector: 1
+--- !u!4 &1346095182
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1346095180}
+ serializedVersion: 2
+ 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_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &1419645486
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1419645487}
+ - component: {fileID: 1419645491}
+ - component: {fileID: 1419645490}
+ - component: {fileID: 1419645489}
+ - component: {fileID: 1419645488}
+ m_Layer: 5
+ m_Name: MainMenu
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1419645487
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1419645486}
+ 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: 559666865}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 180, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1419645488
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1419645486}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 6637cd674efb56a48a3d4d545d23a8d3, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ ShowTopMostFoldoutHeaderGroup: 1
+--- !u!114 &1419645489
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1419645486}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ GlobalObjectIdHash: 622675322
+ InScenePlacedSourceGlobalObjectIdHash: 0
+ DeferredDespawnTick: 0
+ Ownership: 1
+ AlwaysReplicateAsRoot: 0
+ SynchronizeTransform: 1
+ ActiveSceneSynchronization: 0
+ SceneMigrationSynchronization: 1
+ SpawnWithObservers: 1
+ DontDestroyWithOwner: 0
+ AutoObjectParentSync: 1
+ SyncOwnerTransformWhenParented: 1
+ AllowOwnerToParent: 0
+--- !u!114 &1419645490
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1419645486}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.8396226, g: 0.48815125, b: 0.019802418, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 23
+ m_FontStyle: 1
+ m_BestFit: 1
+ m_MinSize: 1
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'Mock Main Menu '
+--- !u!222 &1419645491
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1419645486}
+ m_CullTransparentMesh: 1
+--- !u!1660057539 &9223372036854775807
+SceneRoots:
+ m_ObjectHideFlags: 0
+ m_Roots:
+ - {fileID: 1273064318}
+ - {fileID: 1346095182}
+ - {fileID: 559666865}
+ - {fileID: 1031380545}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scenes/MainMenu.unity.meta b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/MainMenu.unity.meta
new file mode 100644
index 0000000000..f89877b055
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/MainMenu.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 1ec6afcedd7df124e91af7bfbcea59b2
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scenes/ProjectPrefabs.asset b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/ProjectPrefabs.asset
new file mode 100644
index 0000000000..afdf3f97be
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/ProjectPrefabs.asset
@@ -0,0 +1,26 @@
+%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: ProjectPrefabs
+ m_EditorClassIdentifier:
+ IsDefault: 0
+ List:
+ - Override: 0
+ Prefab: {fileID: 4710599683293591777, guid: 90bfa3cd2cce8f14ead59b4dbdae92bb, type: 3}
+ SourcePrefabToOverride: {fileID: 0}
+ SourceHashToOverride: 0
+ OverridingTargetPrefab: {fileID: 0}
+ - Override: 0
+ Prefab: {fileID: 6472733969592893139, guid: 3e5167b6e6bcb5645abb2dbc0078091e, type: 3}
+ SourcePrefabToOverride: {fileID: 0}
+ SourceHashToOverride: 0
+ OverridingTargetPrefab: {fileID: 0}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scenes/ProjectPrefabs.asset.meta b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/ProjectPrefabs.asset.meta
new file mode 100644
index 0000000000..402e4425d7
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/ProjectPrefabs.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3d25a2b1f6c12ee47bf7601c2edd7e70
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scenes/ServerScene.unity b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/ServerScene.unity
new file mode 100644
index 0000000000..577973e816
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/ServerScene.unity
@@ -0,0 +1,402 @@
+%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_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 13
+ m_BakeOnSceneLoad: 0
+ 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: 1
+ m_PVRFilteringGaussRadiusAO: 1
+ 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 &405623521
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 405623522}
+ - component: {fileID: 405623526}
+ - component: {fileID: 405623525}
+ m_Layer: 5
+ m_Name: ConnectedPlayers
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &405623522
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 405623521}
+ 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: 1605560297}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 0}
+ m_AnchorMax: {x: 1, y: 0}
+ m_AnchoredPosition: {x: -116, y: 27}
+ m_SizeDelta: {x: 180, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &405623525
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 405623521}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.8396226, g: 0.48815125, b: 0.019802418, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 1
+ m_BestFit: 0
+ m_MinSize: 1
+ m_MaxSize: 40
+ m_Alignment: 3
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'Players: 0'
+--- !u!222 &405623526
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 405623521}
+ m_CullTransparentMesh: 1
+--- !u!1 &1516152272
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1516152273}
+ - component: {fileID: 1516152277}
+ - component: {fileID: 1516152276}
+ m_Layer: 5
+ m_Name: ServerRuntime
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1516152273
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1516152272}
+ 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: 1605560297}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 0}
+ m_AnchorMax: {x: 1, y: 0}
+ m_AnchoredPosition: {x: -116, y: 61}
+ m_SizeDelta: {x: 180, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1516152276
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1516152272}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.8396226, g: 0.48815125, b: 0.019802418, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 1
+ m_BestFit: 0
+ m_MinSize: 1
+ m_MaxSize: 40
+ m_Alignment: 3
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'NetworkTick: 0'
+--- !u!222 &1516152277
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1516152272}
+ m_CullTransparentMesh: 1
+--- !u!1 &1605560293
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1605560297}
+ - component: {fileID: 1605560296}
+ - component: {fileID: 1605560295}
+ - component: {fileID: 1605560294}
+ - component: {fileID: 1605560298}
+ m_Layer: 5
+ m_Name: ServerCanvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1605560294
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1605560293}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &1605560295
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1605560293}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 0
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 800, y: 600}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+ m_PresetInfoIsWorld: 0
+--- !u!223 &1605560296
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1605560293}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_VertexColorAlwaysGammaSpace: 0
+ m_AdditionalShaderChannelsFlag: 0
+ m_UpdateRectTransformForStandalone: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &1605560297
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1605560293}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1516152273}
+ - {fileID: 405623522}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!114 &1605560298
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1605560293}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d370147e4c421014cb5dd4eee3b6a373, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ ServerTime: {fileID: 1516152276}
+ PlayerCount: {fileID: 405623525}
+--- !u!1660057539 &9223372036854775807
+SceneRoots:
+ m_ObjectHideFlags: 0
+ m_Roots:
+ - {fileID: 1605560297}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scenes/ServerScene.unity.meta b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/ServerScene.unity.meta
new file mode 100644
index 0000000000..21ce0ed652
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/ServerScene.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: ee7bfa213000a594bb8011364915602e
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scenes/SharedScene.unity b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/SharedScene.unity
new file mode 100644
index 0000000000..1af0fa5fa5
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/SharedScene.unity
@@ -0,0 +1,1343 @@
+%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: 705507994}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 13
+ m_BakeOnSceneLoad: 0
+ 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: 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: 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 &28232985
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 28232986}
+ - component: {fileID: 28232988}
+ - component: {fileID: 28232987}
+ - component: {fileID: 28232989}
+ - component: {fileID: 28232990}
+ m_Layer: 5
+ m_Name: ServerHostClientDisplay
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &28232986
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 28232985}
+ 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: 479361665}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 20.5}
+ m_SizeDelta: {x: 180, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &28232987
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 28232985}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 23
+ m_FontStyle: 1
+ m_BestFit: 1
+ m_MinSize: 1
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text:
+--- !u!222 &28232988
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 28232985}
+ m_CullTransparentMesh: 1
+--- !u!114 &28232989
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 28232985}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ GlobalObjectIdHash: 536662705
+ InScenePlacedSourceGlobalObjectIdHash: 0
+ DeferredDespawnTick: 0
+ Ownership: 1
+ AlwaysReplicateAsRoot: 0
+ SynchronizeTransform: 1
+ ActiveSceneSynchronization: 0
+ SceneMigrationSynchronization: 0
+ SpawnWithObservers: 1
+ DontDestroyWithOwner: 1
+ AutoObjectParentSync: 0
+ SyncOwnerTransformWhenParented: 0
+ AllowOwnerToParent: 0
+--- !u!114 &28232990
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 28232985}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 6637cd674efb56a48a3d4d545d23a8d3, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ ShowTopMostFoldoutHeaderGroup: 1
+--- !u!1001 &45185844
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: RotationSpeed
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: OnExitTransferParentOnStay
+ value:
+ objectReference: {fileID: 621748559}
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: DontDeparentIfParentedByOtherBody
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 3307166493715739449, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: GlobalObjectIdHash
+ value: 3246499739
+ objectReference: {fileID: 0}
+ - target: {fileID: 3307166493715739449, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: InScenePlacedSourceGlobalObjectIdHash
+ value: 1084435762
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -60
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: -0.34
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -49.1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5415449980466536476, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_Name
+ value: StationaryBody-B
+ objectReference: {fileID: 0}
+ - target: {fileID: 8134939553748259768, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_Size.z
+ value: 19.891119
+ objectReference: {fileID: 0}
+ - target: {fileID: 8134939553748259768, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_Center.x
+ value: -0.038006783
+ objectReference: {fileID: 0}
+ - target: {fileID: 8134939553748259768, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_Center.z
+ value: -0.13657665
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+--- !u!1001 &66674670
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: RotationSpeed
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: OnExitTransferParentOnStay
+ value:
+ objectReference: {fileID: 520394643}
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: DontDeparentIfParentedByOtherBody
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 3307166493715739449, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: GlobalObjectIdHash
+ value: 4013775021
+ objectReference: {fileID: 0}
+ - target: {fileID: 3307166493715739449, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: InScenePlacedSourceGlobalObjectIdHash
+ value: 1084435762
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -60
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: -0.34
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -33.32
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5415449980466536476, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_Name
+ value: StationaryBody-A
+ objectReference: {fileID: 0}
+ - target: {fileID: 8134939553748259768, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_Size.z
+ value: 19.906477
+ objectReference: {fileID: 0}
+ - target: {fileID: 8134939553748259768, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_Center.x
+ value: -0.038006783
+ objectReference: {fileID: 0}
+ - target: {fileID: 8134939553748259768, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_Center.z
+ value: 0.070830345
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+--- !u!1 &479361661
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 479361665}
+ - component: {fileID: 479361664}
+ - component: {fileID: 479361663}
+ - component: {fileID: 479361662}
+ m_Layer: 5
+ m_Name: SharedCanvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &479361662
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 479361661}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &479361663
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 479361661}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 0
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 800, y: 600}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+ m_PresetInfoIsWorld: 0
+--- !u!223 &479361664
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 479361661}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_VertexColorAlwaysGammaSpace: 0
+ m_AdditionalShaderChannelsFlag: 0
+ m_UpdateRectTransformForStandalone: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &479361665
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 479361661}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 28232986}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!114 &520394643 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ m_PrefabInstance: {fileID: 45185844}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 374ac199eb18f0f468bc018a722775c2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &621748559 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ m_PrefabInstance: {fileID: 66674670}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 374ac199eb18f0f468bc018a722775c2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !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: 11
+ m_Type: 1
+ 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_ForceVisible: 0
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+ m_LightUnit: 1
+ m_LuxAtDistance: 1
+ m_EnableSpotReflector: 1
+--- !u!4 &705507995
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 705507993}
+ serializedVersion: 2
+ 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_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &737227285
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 737227286}
+ m_Layer: 0
+ m_Name: PointF
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &737227286
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 737227285}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 60.5, y: -0.34, z: -68.5}
+ 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!1001 &748186899
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 3
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 3
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: -0.25
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511849, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4012615692778511854, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ propertyPath: m_Name
+ value: SceneLevelGeometry
+ objectReference: {fileID: 0}
+ m_RemovedComponents:
+ - {fileID: 4012615691354089850, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ - {fileID: 4012615691354089845, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ - {fileID: 4012615692791378779, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ - {fileID: 4012615691503252836, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ - {fileID: 4012615692269653855, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ - {fileID: 4012615691965054906, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ - {fileID: 4012615692791378776, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ - {fileID: 4012615691503252837, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ - {fileID: 4012615692269653852, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ - {fileID: 4012615691965054907, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 3ec484313a7a6754dac871e620df8db2, type: 3}
+--- !u!1001 &857399335
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: RotationSpeed
+ value: 0.25
+ objectReference: {fileID: 0}
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: RotateDirection
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 3307166493715739449, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: GlobalObjectIdHash
+ value: 1449196534
+ objectReference: {fileID: 0}
+ - target: {fileID: 3307166493715739449, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: InScenePlacedSourceGlobalObjectIdHash
+ value: 1084435762
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -60.7
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: -0.34
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 56.8
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5415449980466536476, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_Name
+ value: RotatingBody
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+--- !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: 2
+ m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1}
+ 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: -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}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0.15212336, y: 0, z: 0, w: 0.98836154}
+ m_LocalPosition: {x: 0, y: 4.5, z: -5.5}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 17.5, y: 0, z: 0}
+--- !u!1 &1184702125
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1184702128}
+ - component: {fileID: 1184702127}
+ - component: {fileID: 1184702126}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1184702126
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1184702125}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_SendPointerHoverToParent: 1
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &1184702127
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1184702125}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 10
+--- !u!4 &1184702128
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1184702125}
+ 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!1 &1364678139
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1364678140}
+ m_Layer: 0
+ m_Name: PointC
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1364678140
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1364678139}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 10.9, y: 40.6, z: -70}
+ 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!1 &1525255853
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1525255854}
+ m_Layer: 0
+ m_Name: PointD
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1525255854
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1525255853}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 10.9, y: -0.34, z: -70}
+ 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!1001 &1591298748
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: ZAxisMove
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: RotationSpeed
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: PathMovement.Array.size
+ value: 4
+ objectReference: {fileID: 0}
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: NetworkTransformExpanded
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: RotatingBodyLogicExpanded
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: 'PathMovement.Array.data[0]'
+ value:
+ objectReference: {fileID: 1851254366}
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: 'PathMovement.Array.data[1]'
+ value:
+ objectReference: {fileID: 1939125342}
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: 'PathMovement.Array.data[2]'
+ value:
+ objectReference: {fileID: 1364678139}
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: 'PathMovement.Array.data[3]'
+ value:
+ objectReference: {fileID: 1525255853}
+ - target: {fileID: 3307166493715739449, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: GlobalObjectIdHash
+ value: 4258258070
+ objectReference: {fileID: 0}
+ - target: {fileID: 3307166493715739449, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: InScenePlacedSourceGlobalObjectIdHash
+ value: 1084435762
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 10.9
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: -0.34
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 70
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5415449980466536476, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_Name
+ value: 'ElevatorBody '
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+--- !u!1 &1851254366
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1851254367}
+ m_Layer: 0
+ m_Name: PointA
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1851254367
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1851254366}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 10.9, y: -0.34, z: 70}
+ 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!1 &1900905072
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1900905073}
+ m_Layer: 0
+ m_Name: PointE
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1900905073
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1900905072}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 60.5, y: -0.34, z: 70}
+ 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!1 &1939125342
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1939125343}
+ m_Layer: 0
+ m_Name: PointB
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1939125343
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1939125342}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 10.9, y: 40.6, z: 70}
+ 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!1001 &1968567121
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: ZAxisMove
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: RotationSpeed
+ value: 0.3
+ objectReference: {fileID: 0}
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: PathMovement.Array.size
+ value: 2
+ objectReference: {fileID: 0}
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: RotatingBodyLogicExpanded
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: 'PathMovement.Array.data[0]'
+ value:
+ objectReference: {fileID: 1900905072}
+ - target: {fileID: 850162744905636139, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: 'PathMovement.Array.data[1]'
+ value:
+ objectReference: {fileID: 737227285}
+ - target: {fileID: 3307166493715739449, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: GlobalObjectIdHash
+ value: 1259759422
+ objectReference: {fileID: 0}
+ - target: {fileID: 3307166493715739449, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: InScenePlacedSourceGlobalObjectIdHash
+ value: 1084435762
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 60
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: -0.34
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 70
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4291553105548296809, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5415449980466536476, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+ propertyPath: m_Name
+ value: MovingRotatingBody
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 0123d7125346c274da00b38e950a266b, type: 3}
+--- !u!1660057539 &9223372036854775807
+SceneRoots:
+ m_ObjectHideFlags: 0
+ m_Roots:
+ - {fileID: 963194228}
+ - {fileID: 705507995}
+ - {fileID: 479361665}
+ - {fileID: 1184702128}
+ - {fileID: 748186899}
+ - {fileID: 857399335}
+ - {fileID: 66674670}
+ - {fileID: 45185844}
+ - {fileID: 1968567121}
+ - {fileID: 1591298748}
+ - {fileID: 1851254367}
+ - {fileID: 1939125343}
+ - {fileID: 1364678140}
+ - {fileID: 1525255854}
+ - {fileID: 1900905073}
+ - {fileID: 737227286}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scenes/SharedScene.unity.meta b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/SharedScene.unity.meta
new file mode 100644
index 0000000000..952bd1e9e1
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scenes/SharedScene.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9fc0d4010bbf28b4594072e72b8655ab
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts.meta b/Examples/OverridingScenesAndPrefabs/Assets/Scripts.meta
new file mode 100644
index 0000000000..528b6db2ae
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8f0135d923712c4438b2facb3ce21fb6
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/InstanceTypeLocalBehavior.cs b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/InstanceTypeLocalBehavior.cs
new file mode 100644
index 0000000000..e8bee77712
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/InstanceTypeLocalBehavior.cs
@@ -0,0 +1,108 @@
+using Unity.Netcode;
+using UnityEngine;
+
+
+///
+/// An example of how to get server or client specific behaviors without
+/// directly using a but still associating
+/// with a .
+///
+public class InstanceTypeLocalBehavior : MonoBehaviour, INetworkUpdateSystem
+{
+ [Tooltip("When enabled, this will run only on a server or host. When disabled, this will only run on the owner of the local client player (including host).")]
+ public bool ServerOnly;
+
+ [Tooltip("This is the unique message example text displayed when running locally.")]
+ public string UniqueLocalInstanceContent;
+
+ private MoverScriptNoRigidbody m_MoverScriptNoRigidbody;
+ private NetworkManager m_NetworkManager;
+ private float m_NextTimeToLogMessage;
+
+ private void Awake()
+ {
+ m_MoverScriptNoRigidbody = GetComponent();
+ m_MoverScriptNoRigidbody.NotifySpawnStatusChanged += OnSpawnStatusChanged;
+ }
+
+ ///
+ /// Adjust this logic to fit your needs.
+ /// This example makes the InstanceTypeLocalBehavior only update if:
+ /// - It is a server (including host) and is marked for ServerOnly
+ /// - It is a client (including host), is not marked for ServerOnly, and the local client is the owner of MoverScriptNoRigidbody.
+ /// - It is in distributed authority mode, is not marked for ServerOnly, and the local client has authority of the MoverScriptNoRigidbody.
+ ///
+ private bool HasAuthority()
+ {
+ if (m_NetworkManager == null)
+ {
+ return false;
+ }
+
+ if (!ServerOnly && m_NetworkManager.DistributedAuthorityMode && m_MoverScriptNoRigidbody.HasAuthority)
+ {
+ return true;
+ }
+ else
+ {
+ if (ServerOnly && m_NetworkManager.IsServer)
+ {
+ return true;
+ }
+ else if (!ServerOnly && m_MoverScriptNoRigidbody.IsOwner)
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ ///
+ ///
+ /// Isolate the spawning status to the and just
+ /// use actions, ecents, or delegates to notify non-shared behaviors that are
+ /// only on a server or client version of a network prefab that has a .
+ ///
+ ///
+ private void OnSpawnStatusChanged(bool spawned)
+ {
+ if (spawned)
+ {
+ m_NetworkManager = m_MoverScriptNoRigidbody.NetworkManager;
+ if (HasAuthority())
+ {
+ NetworkUpdateLoop.RegisterNetworkUpdate(this, NetworkUpdateStage.Update);
+ }
+ }
+ else
+ {
+ // Whether registered or not, it is easier to just unregister always.
+ NetworkUpdateLoop.UnregisterAllNetworkUpdates(this);
+ m_NetworkManager = null;
+ }
+ }
+
+ ///
+ /// Invoked only on the instance(s) that have authority to update.
+ ///
+ ///
+ ///
+ public void NetworkUpdate(NetworkUpdateStage updateStage)
+ {
+ if (updateStage == NetworkUpdateStage.Update)
+ {
+ OnUpdate();
+ }
+ }
+
+
+ private void OnUpdate()
+ {
+ if (m_NextTimeToLogMessage < Time.realtimeSinceStartup)
+ {
+ var serverClient = m_MoverScriptNoRigidbody.IsServer ? "Server" : "Client";
+ NetworkManagerBootstrapper.Instance.LogMessage($"[{Time.realtimeSinceStartup}][{serverClient}-{m_MoverScriptNoRigidbody.name}] {UniqueLocalInstanceContent}");
+ m_NextTimeToLogMessage = Time.realtimeSinceStartup + 5.0f;
+ }
+ }
+}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/InstanceTypeLocalBehavior.cs.meta b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/InstanceTypeLocalBehavior.cs.meta
new file mode 100644
index 0000000000..e4a7e879ac
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/InstanceTypeLocalBehavior.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: bb9a9987a689bbe43a05463cf3713b22
\ No newline at end of file
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/MoverScriptNoRigidbody.cs b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/MoverScriptNoRigidbody.cs
new file mode 100644
index 0000000000..abc1f5e0fc
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/MoverScriptNoRigidbody.cs
@@ -0,0 +1,376 @@
+using System;
+using Unity.Netcode.Components;
+using Unity.Netcode;
+using UnityEngine;
+using Random = UnityEngine.Random;
+using Debug = UnityEngine.Debug;
+
+#region MoverScriptNoRigidbody Custom Editor
+#if UNITY_EDITOR
+using Unity.Netcode.Editor;
+using UnityEditor;
+
+///
+/// The custom editor for the component.
+///
+[CustomEditor(typeof(MoverScriptNoRigidbody), true)]
+[CanEditMultipleObjects]
+public class MoverScriptNoRigidbodyEditor : NetworkTransformEditor
+{
+ private SerializedProperty m_Radius;
+ private SerializedProperty m_Increment;
+ private SerializedProperty m_RotateSpeed;
+ private SerializedProperty m_MovementSpeed;
+ private SerializedProperty m_AirSpeedFactor;
+ private SerializedProperty m_Gravity;
+ private SerializedProperty m_ContinualChildMotion;
+
+
+ public override void OnEnable()
+ {
+ m_Radius = serializedObject.FindProperty(nameof(MoverScriptNoRigidbody.SpawnRadius));
+ m_Increment = serializedObject.FindProperty(nameof(MoverScriptNoRigidbody.Increment));
+ m_RotateSpeed = serializedObject.FindProperty(nameof(MoverScriptNoRigidbody.RotationSpeed));
+ m_MovementSpeed = serializedObject.FindProperty(nameof(MoverScriptNoRigidbody.MovementSpeed));
+ m_AirSpeedFactor = serializedObject.FindProperty(nameof(MoverScriptNoRigidbody.AirSpeedFactor));
+ m_Gravity = serializedObject.FindProperty(nameof(MoverScriptNoRigidbody.Gravity));
+ m_ContinualChildMotion = serializedObject.FindProperty(nameof(MoverScriptNoRigidbody.ContinualChildMotion));
+
+ base.OnEnable();
+ }
+
+ private void DisplayerMoverScriptNoRigidbodyProperties()
+ {
+ EditorGUILayout.PropertyField(m_Radius);
+ EditorGUILayout.PropertyField(m_Increment);
+ EditorGUILayout.PropertyField(m_RotateSpeed);
+ EditorGUILayout.PropertyField(m_MovementSpeed);
+ EditorGUILayout.PropertyField(m_AirSpeedFactor);
+ EditorGUILayout.PropertyField(m_Gravity);
+ EditorGUILayout.PropertyField(m_ContinualChildMotion);
+ }
+
+ public override void OnInspectorGUI()
+ {
+ var moverScriptNoRigidbody = target as MoverScriptNoRigidbody;
+ void SetExpanded(bool expanded) { moverScriptNoRigidbody.MoverScriptNoRigidbodyExpanded = expanded; };
+ DrawFoldOutGroup(moverScriptNoRigidbody.GetType(), DisplayerMoverScriptNoRigidbodyProperties, moverScriptNoRigidbody.MoverScriptNoRigidbodyExpanded, SetExpanded);
+ base.OnInspectorGUI();
+ }
+}
+#endif
+#endregion
+
+///
+/// The player controller for the player prefab
+///
+public class MoverScriptNoRigidbody : NetworkTransform
+{
+#if UNITY_EDITOR
+ // Inspector view expand/collapse settings for this derived child class
+ [HideInInspector]
+ public bool MoverScriptNoRigidbodyExpanded;
+#endif
+
+ private static bool s_EnablePlayerParentingText = true;
+
+ [Tooltip("Radius range a player will spawn within.")]
+ [Range(1.0f, 40.0f)]
+ public float SpawnRadius = 10.0f;
+
+ [Range(0.001f, 10.0f)]
+ public float Increment = 1.0f;
+
+ [Tooltip("The rotation speed multiplier.")]
+ [Range(0.01f, 2.0f)]
+ public float RotationSpeed = 1.0f;
+
+ [Tooltip("The forward movement speed.")]
+ [Range(0.01f, 30.0f)]
+ public float MovementSpeed = 15.0f;
+
+ [Tooltip("The jump launching speed.")]
+ [Range(1.0f, 20f)]
+ public float JumpSpeed = 10.0f;
+
+ [Tooltip("Determines how much the player's motion is applied when in the air.")]
+ [Range(0.01f, 1.0f)]
+ public float AirSpeedFactor = 0.35f;
+
+ [Range(-20.0f, 20.0f)]
+ public float Gravity = -9.8f;
+
+ [Tooltip("When enabled, the child spheres will continually move. When disabled, the child spheres will only move when the player moves.")]
+ public bool ContinualChildMotion = true;
+
+
+ private TextMesh m_ParentedText;
+ private PlayerColor m_PlayerColor;
+ private float m_JumpDelay;
+ private Vector3 m_WorldMotion = Vector3.zero;
+ private Vector3 m_CameraOriginalPosition;
+ private Quaternion m_CameraOriginalRotation;
+ private CharacterController m_CharacterController;
+ private PlayerBallMotion m_PlayerBallMotion;
+
+ public event Action NotifySpawnStatusChanged;
+
+ protected override void Awake()
+ {
+ m_ParentedText = GetComponentInChildren();
+ m_ParentedText?.gameObject.SetActive(false);
+ m_PlayerColor = GetComponent();
+ m_PlayerBallMotion = GetComponentInChildren();
+ base.Awake();
+ }
+
+ ///
+ /// Invoked after being instantiated, we can do other pre-spawn related
+ /// initilization tasks here.
+ ///
+ ///
+ /// This provides you with a reference to the current
+ /// since that is not set on the until it is spawned.
+ ///
+ ///
+ protected override void OnNetworkPreSpawn(ref NetworkManager networkManager)
+ {
+ m_CharacterController = GetComponent();
+ // By default, we always disable the CharacterController and only enable it on the
+ // owner/authority side.
+ m_CharacterController.enabled = false;
+ base.OnNetworkPreSpawn(ref networkManager);
+ }
+
+ ///
+ /// We are using post spawn to handle any final spawn initializations.
+ /// At this point we know all NetworkBehaviours on this instance has
+ /// been spawned.
+ ///
+ protected override void OnNetworkPostSpawn()
+ {
+ // Authority of this object sends local notifications to any non-networkbehaviour subscribers
+ NotifySpawnStatusChanged?.Invoke(true);
+
+ m_CharacterController.enabled = CanCommitToTransform;
+ if (CanCommitToTransform)
+ {
+ m_PlayerBallMotion.SetContinualMotion(ContinualChildMotion);
+ Random.InitState((int)DateTime.Now.Ticks);
+ transform.position += new Vector3(Random.Range(-SpawnRadius, SpawnRadius), 1.25f, Random.Range(0, SpawnRadius));
+ SetState(transform.position, null, null, false);
+ if (IsLocalPlayer)
+ {
+ NetworkObject.DontDestroyWithOwner = false;
+ m_CameraOriginalPosition = Camera.main.transform.position;
+ m_CameraOriginalRotation = Camera.main.transform.rotation;
+ Camera.main.transform.SetParent(transform, false);
+ }
+ }
+
+ if (NetworkObject.IsPlayerObject)
+ {
+ gameObject.name = $"Player-{OwnerClientId}";
+ }
+
+ m_ParentedText?.gameObject.SetActive(true);
+ UpdateParentedText();
+ base.OnNetworkPostSpawn();
+ }
+
+ public override void OnNetworkDespawn()
+ {
+ // Notify any client or server specific componant that this instance has despawned.
+ NotifySpawnStatusChanged?.Invoke(false);
+ if (IsLocalPlayer)
+ {
+ m_CharacterController.enabled = false;
+ Camera.main.transform.SetParent(null, false);
+ Camera.main.transform.position = m_CameraOriginalPosition;
+ Camera.main.transform.rotation = m_CameraOriginalRotation;
+ }
+ base.OnNetworkDespawn();
+ }
+
+ ///
+ /// Bypass NetworkTransform's OnNetworkObjectParentChanged
+ ///
+ public override void OnNetworkObjectParentChanged(NetworkObject parentNetworkObject)
+ {
+ if (parentNetworkObject != null)
+ {
+ Debug.Log($"Parented under {parentNetworkObject.name}");
+ }
+ UpdateParentedText();
+ base.OnNetworkObjectParentChanged(parentNetworkObject);
+ }
+
+ ///
+ /// This method handles both client-server and distributed authority network topologies
+ /// client-server: If we are not the server, then we need to send an Rpc to the server to handle parenting since the Character controller is disabled on the server for all client CharacterControllers (i.e. won't trigger).
+ /// distributed authority: If we are the authority, then handle parenting locally.
+ ///
+ ///
+ public void SetParent(NetworkObject parent)
+ {
+ if ((!NetworkManager.DistributedAuthorityMode && (IsServer || (NetworkObject.AllowOwnerToParent && IsOwner))) || (NetworkManager.DistributedAuthorityMode && HasAuthority))
+ {
+ if (parent != null)
+ {
+ NetworkObject.TrySetParent(parent);
+ }
+ else
+ {
+ NetworkObject.TryRemoveParent();
+ }
+ }
+ else if (!NetworkManager.DistributedAuthorityMode && !IsServer)
+ {
+ SetParentRpc(new NetworkObjectReference(parent));
+ }
+ }
+
+ [Rpc(SendTo.Server)]
+ public void SetParentRpc(NetworkObjectReference parentReference, RpcParams rpcParams = default)
+ {
+ var parent = (NetworkObject)null;
+ parentReference.TryGet(out parent, NetworkManager);
+ if (parent != null)
+ {
+ NetworkObject.TrySetParent(parent);
+ }
+ else
+ {
+ NetworkObject.TryRemoveParent();
+ }
+ }
+
+
+ private void Update()
+ {
+ if (!IsSpawned || !CanCommitToTransform)
+ {
+ return;
+ }
+ ApplyInput();
+ }
+
+
+ private Vector3 m_PushMotion = Vector3.zero;
+ ///
+ /// Since has issues with collisions and rotating bodies,
+ /// we have to simulate the collision using triggers.
+ ///
+ ///
+ ///
+ ///
+ /// direction to push away from
+ public void PushAwayFrom(Vector3 normal)
+ {
+ m_PushMotion += normal * MovementSpeed * 0.10f * Time.deltaTime;
+ }
+
+ ///
+ /// Handles player input
+ ///
+ private void ApplyInput()
+ {
+ // Simple rotation:
+ // Since the forward vector is perpendicular to the right vector of the player, we can just
+ // apply the +/- value to our forward direction and lerp our right vector towards that direction
+ // in order to get a reasonably smooth rotation.
+ var rotation = transform.forward;
+ m_WorldMotion = Vector3.Lerp(m_WorldMotion, m_CharacterController.isGrounded ? Vector3.zero : Vector3.up * Gravity, Time.deltaTime * 2f);
+ var motion = m_WorldMotion * Time.deltaTime + m_PushMotion;
+ var moveMotion = 0.0f;
+
+ if (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.UpArrow))
+ {
+ motion += transform.forward * MovementSpeed * Time.deltaTime * (m_CharacterController.isGrounded ? 1.0f : AirSpeedFactor);
+ moveMotion = 1.0f;
+ m_CharacterController.Move(motion);
+ }
+ if (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.DownArrow))
+ {
+ motion += (transform.forward * -MovementSpeed) * Time.deltaTime * (m_CharacterController.isGrounded ? 1.0f : AirSpeedFactor);
+ moveMotion = -1.0f;
+ m_CharacterController.Move(motion);
+ }
+
+ if (!m_CharacterController.isGrounded || m_JumpDelay > Time.realtimeSinceStartup || m_PushMotion.magnitude > 0.01f)
+ {
+ m_CharacterController.Move(motion);
+ }
+
+ if (Input.GetKeyDown(KeyCode.Space) && m_CharacterController.isGrounded)
+ {
+ m_JumpDelay = Time.realtimeSinceStartup + 0.5f;
+ m_WorldMotion = motion + Vector3.up * JumpSpeed;
+ }
+
+ if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow))
+ {
+ transform.right = Vector3.Lerp(transform.right, rotation * RotationSpeed, Time.deltaTime).normalized;
+ }
+ if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow))
+ {
+ transform.right = Vector3.Lerp(transform.right, rotation * -RotationSpeed, Time.deltaTime).normalized;
+ }
+
+ // Enabled/Disable player name, transform space, and parent TextMesh
+ if (Input.GetKeyDown(KeyCode.P))
+ {
+ s_EnablePlayerParentingText = !s_EnablePlayerParentingText;
+ }
+
+ if (Input.GetKeyDown(KeyCode.C))
+ {
+ ContinualChildMotion = !ContinualChildMotion;
+ m_PlayerBallMotion.SetContinualMotion(ContinualChildMotion);
+ }
+
+ m_PushMotion = Vector3.Lerp(m_PushMotion, Vector3.zero, 0.35f);
+
+ m_PlayerBallMotion.HasMotion(moveMotion);
+ }
+
+ ///
+ /// Updates player TextMesh relative to each client's camera view
+ ///
+ private void OnGUI()
+ {
+ if (m_ParentedText != null)
+ {
+ if (m_ParentedText.gameObject.activeInHierarchy != s_EnablePlayerParentingText)
+ {
+ m_ParentedText.gameObject.SetActive(s_EnablePlayerParentingText);
+ }
+ if (s_EnablePlayerParentingText)
+ {
+ var position = Camera.main.transform.position;
+ position.y = m_ParentedText.transform.position.y;
+ m_ParentedText.transform.LookAt(position, transform.up);
+ m_ParentedText.transform.forward = -m_ParentedText.transform.forward;
+ }
+ }
+ }
+
+ ///
+ /// Updates the contents of the parented
+ ///
+ private void UpdateParentedText()
+ {
+ if (m_ParentedText)
+ {
+ m_ParentedText.color = m_PlayerColor.Color;
+ if (transform.parent)
+ {
+ m_ParentedText.text = $"{gameObject.name}\n Local Space\n Parent: {transform.parent.name}";
+ }
+ else
+ {
+ m_ParentedText.text = $"{gameObject.name}\n WorldSpace\n Parent: None";
+ }
+ }
+ }
+}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/MoverScriptNoRigidbody.cs.meta b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/MoverScriptNoRigidbody.cs.meta
new file mode 100644
index 0000000000..d1b709a9fb
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/MoverScriptNoRigidbody.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 5ce25b0b3f15e6446a88a85787c2f94a
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/NetworkManagerBootstrapper.cs b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/NetworkManagerBootstrapper.cs
new file mode 100644
index 0000000000..bedc3ed758
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/NetworkManagerBootstrapper.cs
@@ -0,0 +1,527 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Unity.Netcode;
+using Unity.Services.Authentication;
+using Unity.Services.Core;
+using Unity.Services.Multiplayer;
+using UnityEngine;
+using SessionState = Unity.Services.Multiplayer.SessionState;
+
+#region NetworkManagerBootstrapperEditor
+#if UNITY_EDITOR
+using Unity.Netcode.Editor;
+using UnityEditor;
+
+///
+/// The custom editor for the component.
+///
+[CustomEditor(typeof(NetworkManagerBootstrapper), true)]
+[CanEditMultipleObjects]
+public class NetworkManagerBootstrapperEditor : NetworkManagerEditor
+{
+ private SerializedProperty m_TargetFrameRate;
+ private SerializedProperty m_EnableVSync;
+
+ public override void OnEnable()
+ {
+ m_TargetFrameRate = serializedObject.FindProperty(nameof(NetworkManagerBootstrapper.TargetFrameRate));
+ m_EnableVSync = serializedObject.FindProperty(nameof(NetworkManagerBootstrapper.EnableVSync));
+ base.OnEnable();
+ }
+
+ private void DisplayNetworkManagerBootstrapperProperties()
+ {
+ EditorGUILayout.PropertyField(m_TargetFrameRate);
+ EditorGUILayout.PropertyField(m_EnableVSync);
+ }
+
+ public override void OnInspectorGUI()
+ {
+ var extendedNetworkManager = target as NetworkManagerBootstrapper;
+ void SetExpanded(bool expanded) { extendedNetworkManager.NetworkManagerBootstrapperExpanded = expanded; };
+ DrawFoldOutGroup(extendedNetworkManager.GetType(), DisplayNetworkManagerBootstrapperProperties, extendedNetworkManager.NetworkManagerBootstrapperExpanded, SetExpanded);
+ base.OnInspectorGUI();
+ }
+}
+#endif
+#endregion
+
+///
+/// An extended NetworkManager to handle the bootstrap loading process specific to a client-server
+/// topology where one might want to have local server-side scenes, local client-side scenes, and shared (synchronized) scenes.
+///
+///
+public class NetworkManagerBootstrapper : NetworkManager
+{
+ #region Validation
+#if UNITY_EDITOR
+ // Inspector view expand/collapse settings for this derived child class
+ [HideInInspector]
+ public bool NetworkManagerBootstrapperExpanded;
+ protected override void OnValidateComponent()
+ {
+ m_OriginalVSyncCount = QualitySettings.vSyncCount;
+ m_ServicesRegistered = CloudProjectSettings.organizationName != string.Empty && CloudProjectSettings.organizationId != string.Empty;
+ base.OnValidateComponent();
+ }
+#endif
+ #endregion
+
+ #region Properties
+ public static NetworkManagerBootstrapper Instance;
+
+ public int TargetFrameRate = 100;
+ public bool EnableVSync = false;
+
+ [HideInInspector]
+ [SerializeField]
+ private int m_OriginalVSyncCount;
+
+ ///
+ /// Example of how to control scene loading server local, client local, or shared.
+ /// Server local: nothing is synchronized with clients.
+ /// Client local: nothing is synchronized with the server.
+ /// Shared: Is synchronized with clients.
+ ///
+ private SceneBootstrapLoader m_SceneBootstrapLoader;
+
+ private enum ConnectionStates
+ {
+ None,
+ Connecting,
+ Connected,
+ }
+
+ private ConnectionStates m_ConnectionState;
+
+ [SerializeField]
+ private bool m_ServicesRegistered;
+ private ISession m_CurrentSession;
+ private string m_SessionName;
+ private string m_ProfileName;
+ private Task m_SessionTask;
+
+ #endregion
+
+ #region Initialization and Destroy
+ public static string GetRandomString(int length)
+ {
+ var r = new System.Random();
+ return new string(Enumerable.Range(0, length).Select(_ => (char)r.Next('a', 'z')).ToArray());
+ }
+
+ public void SetFrameRate(int targetFrameRate, bool enableVsync)
+ {
+ Application.targetFrameRate = targetFrameRate;
+ QualitySettings.vSyncCount = enableVsync ? m_OriginalVSyncCount : 0;
+ }
+
+ private void Awake()
+ {
+ Screen.SetResolution((int)(Screen.currentResolution.width * 0.40f), (int)(Screen.currentResolution.height * 0.40f), FullScreenMode.Windowed);
+ SetFrameRate(TargetFrameRate, EnableVSync);
+ SetSingleton();
+ m_SceneBootstrapLoader = GetComponent();
+ }
+
+ private async void Start()
+ {
+ OnClientConnectedCallback += OnClientConnected;
+ OnClientDisconnectCallback += OnClientDisconnect;
+ OnConnectionEvent += OnClientConnectionEvent;
+
+ // Check to see if the project has been registered with an organization before trying to sign in
+ if (m_ServicesRegistered)
+ {
+ if (UnityServices.Instance != null && UnityServices.Instance.State != ServicesInitializationState.Initialized)
+ {
+ await UnityServices.InitializeAsync();
+ }
+ if (!AuthenticationService.Instance.IsSignedIn)
+ {
+ AuthenticationService.Instance.SignInFailed += SignInFailed;
+ AuthenticationService.Instance.SignedIn += SignedIn;
+ if (string.IsNullOrEmpty(m_ProfileName))
+ {
+ m_ProfileName = GetRandomString(5);
+ }
+ AuthenticationService.Instance.SwitchProfile(m_ProfileName);
+ await AuthenticationService.Instance.SignInAnonymouslyAsync();
+ }
+ }
+ m_SceneBootstrapLoader.LoadMainMenu();
+ }
+
+ private void OnDestroy()
+ {
+ OnClientConnectedCallback -= OnClientConnected;
+ OnClientDisconnectCallback -= OnClientDisconnect;
+ OnConnectionEvent -= OnClientConnectionEvent;
+ }
+ #endregion
+
+ #region Session and Connection Event Handling
+ private void OnClientConnectionEvent(NetworkManager networkManager, ConnectionEventData eventData)
+ {
+ LogMessage($"[{Time.realtimeSinceStartup}] Connection event {eventData.EventType} for Client-{eventData.ClientId}.");
+ }
+
+ private void OnClientConnected(ulong clientId)
+ {
+ LogMessage($"[{Time.realtimeSinceStartup}] Connected event invoked for Client-{clientId}.");
+ }
+
+ private void OnClientDisconnect(ulong clientId)
+ {
+ LogMessage($"[{Time.realtimeSinceStartup}] Disconnected event invoked for Client-{clientId}.");
+ }
+
+ private void SignedIn()
+ {
+ AuthenticationService.Instance.SignedIn -= SignedIn;
+ Debug.Log($"Signed in anonymously with profile {m_ProfileName}");
+ }
+
+ private void SignInFailed(RequestFailedException error)
+ {
+ AuthenticationService.Instance.SignInFailed -= SignInFailed;
+ Debug.LogError($"Failed to sign in {m_ProfileName} anonymously: {error}");
+ }
+
+ private void SessionStarted()
+ {
+ OnClientStarted -= SessionStarted;
+ m_ConnectionState = ConnectionStates.Connected;
+ if (IsServer)
+ {
+ LogMessage($"Server started session.");
+ }
+ else
+ {
+ LogMessage($"Client connecting to session.");
+ }
+ }
+
+ private void SessionStopped(bool isHost)
+ {
+ LogMessage($"NetworkManager has stopped.");
+ OnClientStopped -= SessionStopped;
+ m_ConnectionState = ConnectionStates.None;
+ if (IsServer)
+ {
+ ResetMainCamera();
+ }
+ }
+
+ private async Task ConnectThroughLiveService()
+ {
+ try
+ {
+ var options = new SessionOptions()
+ {
+ Name = m_SessionName,
+ MaxPlayers = 32
+ }.WithDistributedAuthorityNetwork();
+
+ m_CurrentSession = await MultiplayerService.Instance.CreateOrJoinSessionAsync(m_SessionName, options);
+ return m_CurrentSession;
+ }
+ catch (Exception e)
+ {
+ LogMessage($"{e.Message}");
+ Debug.LogException(e);
+ }
+ return null;
+ }
+ #endregion
+
+ #region GUI Menu
+ public void StartOrConnectToDistributedAuthoritySession()
+ {
+ m_SessionTask = ConnectThroughLiveService();
+ m_ConnectionState = ConnectionStates.Connecting;
+ LogMessage($"Connecting to session {m_SessionName}...");
+ }
+
+ private void OnUpdateGUIDisconnected()
+ {
+ var width = !m_ServicesRegistered ? 600 : 300;
+ GUILayout.BeginArea(new Rect(10, 10, width, 800));
+
+ if (NetworkConfig.NetworkTopology == NetworkTopologyTypes.DistributedAuthority)
+ {
+ if (!m_ServicesRegistered)
+ {
+ GUILayout.Label("Project-Settings:Services-General-Settings is not configured.");
+ GUILayout.Label("Distributed authority requires project to be registered with your organization's services account for authentication purposes.");
+ }
+ else
+ {
+ m_SessionName = GUILayout.TextField(m_SessionName);
+
+ if (GUILayout.Button("Create or Connect To Session"))
+ {
+ NetworkConfig.UseCMBService = true;
+ OnClientStopped += SessionStopped;
+ OnClientStarted += SessionStarted;
+ m_SceneBootstrapLoader.StartSession(SceneBootstrapLoader.StartAsTypes.Client);
+ }
+ }
+ }
+ else
+ {
+ if (GUILayout.Button("Start Server"))
+ {
+ OnServerStopped += SessionStopped;
+ OnServerStarted += SessionStarted;
+ m_SceneBootstrapLoader.StartSession(SceneBootstrapLoader.StartAsTypes.Server);
+ }
+
+ if (GUILayout.Button("Start Host"))
+ {
+ OnServerStopped += SessionStopped;
+ OnServerStarted += SessionStarted;
+ m_SceneBootstrapLoader.StartSession(SceneBootstrapLoader.StartAsTypes.Host);
+ }
+
+ if (GUILayout.Button("Start Client"))
+ {
+ OnClientStopped += SessionStopped;
+ OnClientStarted += SessionStarted;
+ m_SceneBootstrapLoader.StartSession(SceneBootstrapLoader.StartAsTypes.Client);
+ }
+ }
+ GUILayout.EndArea();
+ }
+
+ private int OnUpdateGUIConnected(int yAxisOffset)
+ {
+ GUILayout.BeginArea(new Rect(10, 10, 800, 800));
+ if (CMBServiceConnection)
+ {
+ GUILayout.Label($"Distributed Authority Session: {m_SessionName}");
+ if (LocalClient.IsSessionOwner)
+ {
+ GUILayout.Label("[Session Owner]");
+ yAxisOffset += 20;
+ }
+ }
+ else
+ {
+ GUILayout.Label($"Client-Server Session");
+ }
+ GUILayout.EndArea();
+
+ GUILayout.BeginArea(new Rect(Display.main.renderingWidth - 160, 10, 150, 80));
+ var endSessionText = IsServer && !DistributedAuthorityMode ? "Shutdown" : "Disconnect";
+ if (GUILayout.Button(endSessionText))
+ {
+ if (m_CurrentSession != null && m_CurrentSession.State == SessionState.Connected)
+ {
+ m_CurrentSession.LeaveAsync();
+ m_CurrentSession = null;
+ }
+ else
+ {
+ Shutdown();
+ }
+ }
+ GUILayout.EndArea();
+
+ return yAxisOffset;
+ }
+
+ private void OnGUI()
+ {
+ var yAxisOffset = 10;
+ switch (m_ConnectionState)
+ {
+ case ConnectionStates.None:
+ {
+ yAxisOffset = 80;
+ OnUpdateGUIDisconnected();
+ break;
+ }
+ case ConnectionStates.Connected:
+ {
+ yAxisOffset = OnUpdateGUIConnected(40);
+ break;
+ }
+ }
+
+ GUILayout.BeginArea(new Rect(10, yAxisOffset, 600, 800));
+ if (m_MessageLogs.Count > 0)
+ {
+ GUILayout.Label("-----------(Log)-----------");
+ // Display any messages logged to screen
+ foreach (var messageLog in m_MessageLogs)
+ {
+ GUILayout.Label(messageLog.Message);
+ }
+ GUILayout.Label("---------------------------");
+ }
+ GUILayout.EndArea();
+ }
+ #endregion
+
+ #region Server Camera Handling
+ private Vector3 m_CameraOriginalPosition;
+ private Quaternion m_CameraOriginalRotation;
+ private int m_CurrentFollowPlayerIndex = -1;
+ private MoverScriptNoRigidbody m_CurrentPlayerFollowed;
+
+ private void ResetMainCamera()
+ {
+ m_CurrentFollowPlayerIndex = -1;
+ SetCameraDefaults();
+ }
+ private void SetCameraDefaults()
+ {
+ if (Camera.main != null && Camera.main.transform.parent != null)
+ {
+ Camera.main.transform.SetParent(null, false);
+ Camera.main.transform.position = m_CameraOriginalPosition;
+ Camera.main.transform.rotation = m_CameraOriginalRotation;
+ }
+ }
+
+ ///
+ /// Server only (i.e. not host), follow players as they move around
+ ///
+ private void ServerFollowPlayerCheck()
+ {
+ bool leftBracket = Input.GetKeyDown(KeyCode.LeftBracket);
+ bool rightBracket = Input.GetKeyDown(KeyCode.RightBracket);
+
+ if ((leftBracket || rightBracket) && ConnectedClientsIds.Count > 0)
+ {
+ // Capture the main camera's original position and rotation the first time the server-side
+ // follows a player.
+ if (m_CurrentFollowPlayerIndex == -1)
+ {
+ m_CameraOriginalPosition = Camera.main.transform.position;
+ m_CameraOriginalRotation = Camera.main.transform.rotation;
+ }
+
+ if (leftBracket)
+ {
+ m_CurrentFollowPlayerIndex--;
+ if (m_CurrentFollowPlayerIndex < 0)
+ {
+ m_CurrentFollowPlayerIndex = ConnectedClientsIds.Count - 1;
+ }
+ }
+ else
+ {
+ m_CurrentFollowPlayerIndex++;
+ }
+
+ m_CurrentFollowPlayerIndex %= ConnectedClientsIds.Count;
+
+ var playerId = ConnectedClientsIds[m_CurrentFollowPlayerIndex];
+ var playerNetworkClient = ConnectedClients[playerId];
+ m_CurrentPlayerFollowed = playerNetworkClient.PlayerObject.GetComponent();
+ Camera.main.transform.SetParent(playerNetworkClient.PlayerObject.transform, false);
+ }
+ else if (Input.GetKeyDown(KeyCode.Backspace))
+ {
+ ClearFollowPlayer();
+ }
+ }
+ public void ClearFollowPlayer()
+ {
+ if (m_CurrentPlayerFollowed != null)
+ {
+ m_CurrentPlayerFollowed = null;
+ SetCameraDefaults();
+ }
+ }
+ #endregion
+
+ #region Update Methods and Properties
+ ///
+ /// General update for server-side
+ ///
+ private void ServerSideUpdate()
+ {
+ if (!IsHost)
+ {
+ ServerFollowPlayerCheck();
+ }
+ }
+
+ ///
+ /// General update for client-side
+ ///
+ private void ClientSideUpdate()
+ {
+
+ }
+
+ private void Update()
+ {
+ if (IsListening)
+ {
+ if (IsServer)
+ {
+ ServerSideUpdate();
+ }
+ else
+ {
+ ClientSideUpdate();
+ }
+ }
+
+ if (m_MessageLogs.Count == 0)
+ {
+ return;
+ }
+
+ for (int i = m_MessageLogs.Count - 1; i >= 0; i--)
+ {
+ if (m_MessageLogs[i].ExpirationTime < Time.realtimeSinceStartup)
+ {
+ m_MessageLogs.RemoveAt(i);
+ }
+ }
+ }
+ #endregion
+
+ #region Message Logging
+
+ private List m_MessageLogs = new List();
+
+ private class MessageLog
+ {
+ public string Message { get; private set; }
+ public float ExpirationTime { get; private set; }
+
+ public MessageLog(string msg, float timeToLive)
+ {
+ Message = msg;
+ ExpirationTime = Time.realtimeSinceStartup + timeToLive;
+ }
+ }
+
+ public void LogMessage(string msg, float timeToLive = 10.0f)
+ {
+ if (m_MessageLogs.Count > 0)
+ {
+ m_MessageLogs.Insert(0, new MessageLog(msg, timeToLive));
+ }
+ else
+ {
+ m_MessageLogs.Add(new MessageLog(msg, timeToLive));
+ }
+
+ Debug.Log(msg);
+ }
+ #endregion
+
+ public NetworkManagerBootstrapper()
+ {
+ Instance = this;
+ }
+}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/NetworkManagerBootstrapper.cs.meta b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/NetworkManagerBootstrapper.cs.meta
new file mode 100644
index 0000000000..29e94329b2
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/NetworkManagerBootstrapper.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7db19e0e150e50d4ab23c69a086b8b6e
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/NetworkPrefabOverrideHandler.cs b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/NetworkPrefabOverrideHandler.cs
new file mode 100644
index 0000000000..7774f52d71
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/NetworkPrefabOverrideHandler.cs
@@ -0,0 +1,65 @@
+using Unity.Netcode;
+using UnityEngine;
+
+///
+/// Handles spawning different prefab versions based on whether it is a server or client.
+/// !!! CAUTION !!!
+/// Both network prefabs **MUST** have the same components
+/// and any server or client specific components that are not netcode related but are
+/// dependencies of a component on only the server or client
+/// needs to have code within the component to account for
+/// any missing dependencies.
+///
+[RequireComponent(typeof(NetworkManager))]
+[RequireComponent(typeof(NetworkPrefabOverrideHandler))]
+public class NetworkPrefabOverrideHandler : MonoBehaviour, INetworkPrefabInstanceHandler
+{
+ public GameObject NetworkPrefab;
+ public GameObject NetworkPrefabOverride;
+
+ private NetworkManagerBootstrapper m_NetworkManager;
+
+ private void Start()
+ {
+ m_NetworkManager = GetComponent();
+ m_NetworkManager.PrefabHandler.AddHandler(NetworkPrefab, this);
+ NetworkManager.OnDestroying += NetworkManager_OnDestroying;
+ }
+
+ private void NetworkManager_OnDestroying(NetworkManager obj)
+ {
+ m_NetworkManager.PrefabHandler.RemoveHandler(NetworkPrefab);
+ }
+
+ ///
+ /// Invoked on both server and clients when the prefab is spawned.
+ /// Server-side will spawn the default network prefab.
+ /// Client-side will spawn the network prefab override version.
+ ///
+ /// the client identifier that will own this network prefab instance
+ /// optional to use the position passed in
+ /// optional to use the rotation passed in
+ ///
+ public NetworkObject Instantiate(ulong ownerClientId, Vector3 position, Quaternion rotation)
+ {
+ var gameObject = m_NetworkManager.IsClient ? Instantiate(NetworkPrefabOverride) : Instantiate(NetworkPrefab);
+ // You could integrate spawn locations here and on the server side apply the spawn position at
+ // this stage of the spawn process.
+ gameObject.transform.position = position;
+ gameObject.transform.rotation = rotation;
+ return gameObject.GetComponent();
+ }
+
+ public void Destroy(NetworkObject networkObject)
+ {
+ // Another useful thing about handling this instantiation and destruction of a NetworkObject is that you can do house cleaning
+ // prior to the object being destroyed. This handles the scenario where the server is following a player and the player disconnects.
+ // Before destroying the player object, we want to unparent the camera and reset the player being followed.
+ if (m_NetworkManager.IsServer && !m_NetworkManager.IsHost && Camera.main != null && Camera.main.transform.parent == networkObject.transform)
+ {
+ m_NetworkManager.ClearFollowPlayer();
+ }
+ Destroy(networkObject.gameObject);
+ }
+}
+
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/NetworkPrefabOverrideHandler.cs.meta b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/NetworkPrefabOverrideHandler.cs.meta
new file mode 100644
index 0000000000..df7dd96d8e
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/NetworkPrefabOverrideHandler.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 5c472ff64b067344893ed2e632d0f9f1
\ No newline at end of file
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/PlayerBallMotion.cs b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/PlayerBallMotion.cs
new file mode 100644
index 0000000000..7e525d6c33
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/PlayerBallMotion.cs
@@ -0,0 +1,126 @@
+using System.Collections.Generic;
+using Unity.Netcode.Components;
+using UnityEngine;
+using System.Linq;
+
+
+#if UNITY_EDITOR
+using Unity.Netcode.Editor;
+using UnityEditor;
+
+///
+/// The custom editor for the component.
+///
+[CustomEditor(typeof(PlayerBallMotion), true)]
+[CanEditMultipleObjects]
+public class PlayerBallMotionEditor : NetworkTransformEditor
+{
+ private SerializedProperty m_RotationAxis;
+ private SerializedProperty m_RotationSpeed;
+
+
+ public override void OnEnable()
+ {
+ m_RotationAxis = serializedObject.FindProperty(nameof(PlayerBallMotion.RotationAxis));
+ m_RotationSpeed = serializedObject.FindProperty(nameof(PlayerBallMotion.RotationSpeed));
+ base.OnEnable();
+ }
+
+ private void DrawPlayerBallMotionProperties()
+ {
+ EditorGUILayout.PropertyField(m_RotationAxis);
+ EditorGUILayout.PropertyField(m_RotationSpeed);
+ }
+
+ public override void OnInspectorGUI()
+ {
+ var playerBallMotion = target as PlayerBallMotion;
+ void SetExpanded(bool expanded) { playerBallMotion.ExpandPlayerBallMotion = expanded; };
+ DrawFoldOutGroup< PlayerBallMotion>(playerBallMotion.GetType(), DrawPlayerBallMotionProperties, playerBallMotion.ExpandPlayerBallMotion, SetExpanded);
+ base.OnInspectorGUI();
+ }
+}
+#endif
+
+public class PlayerBallMotion : NetworkTransform
+{
+#if UNITY_EDITOR
+ public bool ExpandPlayerBallMotion;
+ public bool ExpandNetworkTransform;
+#endif
+ public enum RotateAroundAxis
+ {
+ Up,
+ Right,
+ Forward
+ }
+
+ public RotateAroundAxis RotationAxis;
+ public float RotationSpeed = 1.5f;
+
+ private Vector3 m_AxisRotation = Vector3.zero;
+ private List m_Children;
+
+ private bool m_ContinualMotion;
+ private float m_CurrentRotionMotion = 1.0f;
+ public void SetContinualMotion(bool continualMotion)
+ {
+ m_ContinualMotion = continualMotion;
+ foreach (var child in m_Children)
+ {
+ child.SetContinualMotion(continualMotion);
+ }
+ }
+
+ protected override void Awake()
+ {
+ m_Children = GetComponentsInChildren().Where((c)=> c != this).ToList();
+ base.Awake();
+ }
+
+ private void SetRotationAixs()
+ {
+ switch (RotationAxis)
+ {
+ case RotateAroundAxis.Up:
+ {
+ m_AxisRotation = transform.parent.up;
+ break;
+ }
+ case RotateAroundAxis.Right:
+ {
+ m_AxisRotation = transform.parent.right;
+ break;
+ }
+ case RotateAroundAxis.Forward:
+ {
+ m_AxisRotation = transform.parent.forward;
+ break;
+ }
+ }
+ }
+
+ public void HasMotion(float direction)
+ {
+ if (direction == 0.0f)
+ {
+ if(!m_ContinualMotion)
+ {
+ return;
+ }
+ }
+ else
+ {
+ m_CurrentRotionMotion = RotationSpeed * direction;
+ }
+
+
+ transform.LookAt(transform.parent);
+ SetRotationAixs();
+ transform.RotateAround(transform.parent.position, m_AxisRotation, m_CurrentRotionMotion);
+ foreach(var child in m_Children)
+ {
+ child.HasMotion(direction);
+ }
+ }
+}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/PlayerBallMotion.cs.meta b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/PlayerBallMotion.cs.meta
new file mode 100644
index 0000000000..407e0adf7b
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/PlayerBallMotion.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 792d7ce524eb358469373fe12babef88
\ No newline at end of file
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/PlayerColor.cs b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/PlayerColor.cs
new file mode 100644
index 0000000000..aa3dc8c4ba
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/PlayerColor.cs
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using Unity.Netcode;
+using UnityEngine;
+
+
+public class PlayerColor : NetworkBehaviour
+{
+ private static Color[] s_Colors = { Color.red, Color.green, Color.blue, Color.cyan, Color.magenta, Color.yellow };
+ public bool ApplyColorToChildren;
+ public Color Color { get; private set; }
+ public List IgnoreChildren;
+
+ public override void OnNetworkSpawn()
+ {
+ MeshRenderer meshRenderer = GetComponent();
+ ulong myId = GetComponent().OwnerClientId - (ulong)(NetworkManager.DistributedAuthorityMode && NetworkManager.CMBServiceConnection ? 1 : 0);
+ Color = s_Colors[myId % Convert.ToUInt64(s_Colors.Length)];
+ if (meshRenderer)
+ {
+ meshRenderer.material.color = Color;
+ if (ApplyColorToChildren)
+ {
+ var meshRenderers = GetComponentsInChildren();
+ foreach (var childMeshRenderer in meshRenderers)
+ {
+ if (IgnoreChildren != null && IgnoreChildren.Contains(childMeshRenderer.gameObject))
+ {
+ continue;
+ }
+ childMeshRenderer.material.color = Color;
+ }
+ }
+ }
+
+ if (IsLocalPlayer)
+ {
+ var gameObject = FindAnyObjectByType();
+ if (gameObject != null)
+ {
+ var serverHost = gameObject.GetComponent();
+ serverHost?.SetColor(Color);
+ }
+ }
+ base.OnNetworkSpawn();
+ }
+}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/PlayerColor.cs.meta b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/PlayerColor.cs.meta
new file mode 100644
index 0000000000..90b6ca4628
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/PlayerColor.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8e5128237997be649af0cc87dd0eb563
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/RotatingBodyLogic.cs b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/RotatingBodyLogic.cs
new file mode 100644
index 0000000000..eaa32a77d6
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/RotatingBodyLogic.cs
@@ -0,0 +1,201 @@
+using System.Collections.Generic;
+using Unity.Netcode;
+using Unity.Netcode.Components;
+using UnityEngine;
+#if UNITY_EDITOR
+using Unity.Netcode.Editor;
+using UnityEditor;
+
+///
+/// The custom editor for the component.
+///
+[CustomEditor(typeof(RotatingBodyLogic), true)]
+[CanEditMultipleObjects]
+public class RotatingBodyLogicEditor : NetworkTransformEditor
+{
+ private SerializedProperty m_RotationSpeed;
+ private SerializedProperty m_RotateDirection;
+ private SerializedProperty m_OnExitTransferParentOnStay;
+ private SerializedProperty m_PathMotion;
+
+
+ public override void OnEnable()
+ {
+ m_RotationSpeed = serializedObject.FindProperty(nameof(RotatingBodyLogic.RotationSpeed));
+ m_RotateDirection = serializedObject.FindProperty(nameof(RotatingBodyLogic.RotateDirection));
+ m_OnExitTransferParentOnStay = serializedObject.FindProperty(nameof(RotatingBodyLogic.OnExitTransferParentOnStay));
+ m_PathMotion = serializedObject.FindProperty(nameof(RotatingBodyLogic.PathMovement));
+ base.OnEnable();
+ }
+
+ private void DisplayRotatingBodyLogicProperties()
+ {
+ EditorGUILayout.PropertyField(m_RotationSpeed);
+ EditorGUILayout.PropertyField(m_RotateDirection);
+ EditorGUILayout.PropertyField(m_OnExitTransferParentOnStay);
+ EditorGUILayout.PropertyField(m_PathMotion);
+ }
+
+ public override void OnInspectorGUI()
+ {
+ var rotatingBodyLogic = target as RotatingBodyLogic;
+ void SetExpanded(bool expanded) { rotatingBodyLogic.RotatingBodyLogicExpanded = expanded; };
+ DrawFoldOutGroup(rotatingBodyLogic.GetType(), DisplayRotatingBodyLogicProperties, rotatingBodyLogic.RotatingBodyLogicExpanded, SetExpanded);
+ base.OnInspectorGUI();
+ }
+}
+#endif
+
+///
+/// Handles rotating the large in-scene placed platform/tunnels and parenting/deparenting players
+///
+public class RotatingBodyLogic : NetworkTransform
+{
+#if UNITY_EDITOR
+ // Inspector view expand/collapse settings for this derived child class
+ [HideInInspector]
+ public bool RotatingBodyLogicExpanded;
+#endif
+
+ public enum RotationDirections
+ {
+ Clockwise,
+ CounterClockwise
+ }
+
+ [Range(0.0f, 2.0f)]
+ public float RotationSpeed = 1.0f;
+ public RotationDirections RotateDirection;
+ public RotatingBodyLogic OnExitTransferParentOnStay;
+ public List PathMovement;
+
+ private TagHandle m_TagHandle;
+ private float m_RotationDirection;
+
+ private int m_CurrentPathObject = -1;
+ private GameObject m_CurrentNavPoint;
+
+ protected override void OnNetworkPreSpawn(ref NetworkManager networkManager)
+ {
+ m_TagHandle = TagHandle.GetExistingTag("Player");
+ m_RotationDirection = RotateDirection == RotationDirections.Clockwise ? 1.0f : -1.0f;
+ SetNextPoint();
+ base.OnNetworkPreSpawn(ref networkManager);
+ }
+
+ private void SetNextPoint()
+ {
+ if (PathMovement == null || PathMovement.Count == 0)
+ {
+ return;
+ }
+ m_CurrentPathObject++;
+ m_CurrentPathObject %= PathMovement.Count;
+ m_CurrentNavPoint = PathMovement[m_CurrentPathObject];
+ }
+
+
+ ///
+ /// When triggered, the player is parented under the rotating body.
+ ///
+ ///
+ /// This is only triggered on the owner side since we disable the CharacterController
+ /// on all non-owner instances.
+ ///
+ private void OnTriggerEnter(Collider other)
+ {
+ if (!IsSpawned || !other.CompareTag(m_TagHandle))
+ {
+ return;
+ }
+ var nonRigidPlayerMover = other.GetComponent();
+ if (nonRigidPlayerMover != null)
+ {
+ nonRigidPlayerMover.SetParent(NetworkObject);
+ }
+ }
+
+ // This is used to handle NetworkObject to NetworkObject parenting detection
+ private List m_TriggerStayBodies = new List();
+
+ private void OnTriggerStay(Collider other)
+ {
+ if (!IsSpawned || !other.CompareTag(m_TagHandle))
+ {
+ return;
+ }
+ var nonRigidPlayerMover = other.GetComponent();
+ if (nonRigidPlayerMover != null)
+ {
+ if (!m_TriggerStayBodies.Contains(nonRigidPlayerMover))
+ {
+ m_TriggerStayBodies.Add(nonRigidPlayerMover);
+ }
+ }
+ }
+
+ internal bool HandleParentingForTriggerStayBodies(MoverScriptNoRigidbody moverScriptNoRigidbody)
+ {
+ if (m_TriggerStayBodies.Contains(moverScriptNoRigidbody))
+ {
+ moverScriptNoRigidbody.SetParent(NetworkObject);
+ return true;
+ }
+ return false;
+ }
+
+ ///
+ /// When triggered, the player is deparented from the rotating body.
+ ///
+ ///
+ /// This is only triggered on the owner side since we disable the CharacterController
+ /// on all non-owner instances.
+ ///
+ private void OnTriggerExit(Collider other)
+ {
+ if (!IsSpawned || !other.CompareTag(m_TagHandle))
+ {
+ return;
+ }
+
+ var nonRigidPlayerMover = other.GetComponent();
+ if (nonRigidPlayerMover != null)
+ {
+ m_TriggerStayBodies.Remove(nonRigidPlayerMover);
+ if (OnExitTransferParentOnStay && OnExitTransferParentOnStay.HandleParentingForTriggerStayBodies(nonRigidPlayerMover))
+ {
+ return;
+ }
+ // Otherwise, set parent back to root
+ nonRigidPlayerMover.SetParent(null);
+ }
+ }
+
+ ///
+ /// We rotate the body during late update to avoid fighting between the host/owner (depending upon network topology)
+ /// motion and the body's motion/rotation.
+ ///
+ private void LateUpdate()
+ {
+ if (!IsSpawned || !CanCommitToTransform)
+ {
+ return;
+ }
+
+ if (m_CurrentNavPoint != null)
+ {
+ if (Vector3.Distance(m_CurrentNavPoint.transform.position, transform.position) <= 0.05f)
+ {
+ SetNextPoint();
+ }
+
+ var direction = (m_CurrentNavPoint.transform.position - transform.position).normalized;
+ transform.position = Vector3.Lerp(transform.position, transform.position + direction * 10, Time.deltaTime);
+ }
+
+ if (RotationSpeed > 0.0f)
+ {
+ transform.right = Vector3.Lerp(transform.right, transform.forward * m_RotationDirection, Time.deltaTime * RotationSpeed);
+ }
+ }
+}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/RotatingBodyLogic.cs.meta b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/RotatingBodyLogic.cs.meta
new file mode 100644
index 0000000000..ce0ea09165
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/RotatingBodyLogic.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 374ac199eb18f0f468bc018a722775c2
\ No newline at end of file
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/SceneBootstrapLoader.cs b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/SceneBootstrapLoader.cs
new file mode 100644
index 0000000000..08642c10e1
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/SceneBootstrapLoader.cs
@@ -0,0 +1,417 @@
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using Unity.Netcode;
+
+using UnityEngine;
+using UnityEngine.SceneManagement;
+#if UNITY_EDITOR
+using Unity.Netcode.Editor;
+using UnityEditor;
+
+///
+/// The custom editor for the component.
+///
+[CustomEditor(typeof(SceneBootstrapLoader), true)]
+[CanEditMultipleObjects]
+public class SceneBootstrapLoaderEditor : NetcodeEditorBase
+{
+ private SerializedProperty m_ServerSceneDefines;
+ private SerializedProperty m_ClientSceneDefines;
+
+ public override void OnEnable()
+ {
+ m_ServerSceneDefines = serializedObject.FindProperty(nameof(SceneBootstrapLoader.ServerSceneDefines));
+ m_ClientSceneDefines = serializedObject.FindProperty(nameof(SceneBootstrapLoader.ClientSceneDefines));
+ base.OnEnable();
+ }
+
+ private void DisplaySceneBootstrapLoaderProperties()
+ {
+ var sceneBootstrapLoader = target as SceneBootstrapLoader;
+ var networkManager = sceneBootstrapLoader.GetComponent();
+ if (networkManager.NetworkConfig.NetworkTopology == NetworkTopologyTypes.ClientServer)
+ {
+ EditorGUILayout.PropertyField(m_ServerSceneDefines);
+ }
+ EditorGUILayout.PropertyField(m_ClientSceneDefines);
+ }
+
+ public override void OnInspectorGUI()
+ {
+ var sceneBootstrapLoader = target as SceneBootstrapLoader;
+ void SetExpanded(bool expanded) { sceneBootstrapLoader.SceneBootstrapLoaderExpanded = expanded; };
+ DrawFoldOutGroup(sceneBootstrapLoader.GetType(), DisplaySceneBootstrapLoaderProperties, sceneBootstrapLoader.SceneBootstrapLoaderExpanded, SetExpanded);
+ base.OnInspectorGUI();
+ }
+}
+
+#endif
+
+///
+/// Example of how to control scene loading using a additive client
+/// synchronization mode and server-side scene validation approach.
+///
+///
+/// This component should be added to the same GameObject that the component
+/// is attached to (for this example we extended to ).
+///
+[RequireComponent(typeof(NetworkManager))]
+[RequireComponent(typeof(SceneBootstrapLoader))]
+public class SceneBootstrapLoader : MonoBehaviour
+{
+#if UNITY_EDITOR
+ // Inspector view expand/collapse settings for this derived child class
+ [HideInInspector]
+ public bool SceneBootstrapLoaderExpanded;
+
+ [Tooltip("The main menu or out of session scene to load.")]
+ public SceneAsset MainMenuSceneAsset;
+
+ ///
+ /// Converts SceneAssets to scene names
+ ///
+ private void OnValidate()
+ {
+ if (MainMenuSceneAsset != null)
+ {
+ m_MainMenuScene = MainMenuSceneAsset.name;
+ }
+ var networkManager = GetComponent();
+ if (networkManager.NetworkConfig.NetworkTopology == NetworkTopologyTypes.ClientServer)
+ {
+ ServerSceneDefines.Validate();
+ }
+ ClientSceneDefines.Validate();
+ }
+#endif
+
+ [Tooltip("Defines how to handle scenes for the server instance.")]
+ public ServerSceneDefine ServerSceneDefines;
+ [Tooltip("Defines how to handle scenes for the client instance.")]
+ public SceneDefine ClientSceneDefines;
+
+ private NetworkManagerBootstrapper m_NetworkManager;
+ private string m_SceneCurrentlyLoading;
+ private string m_SceneJustLoaded;
+
+ [HideInInspector]
+ [SerializeField]
+ private string m_MainMenuScene;
+
+ private void Awake()
+ {
+ m_NetworkManager = GetComponent();
+ }
+
+ ///
+ /// Should be invoked by bootstrap when first starting the applicaiton and should be loaded upon exiting
+ /// a session and shutting down the .
+ ///
+ public void LoadMainMenu()
+ {
+ if (!m_NetworkManager.IsListening)
+ {
+ SceneManager.LoadScene(m_MainMenuScene, LoadSceneMode.Single);
+ }
+ else
+ {
+ Debug.LogWarning($"Trying to load main scene {m_MainMenuScene} while {nameof(NetworkManagerBootstrapper)} is still running!");
+ }
+ }
+
+ public enum StartAsTypes
+ {
+ Server,
+ Host,
+ Client
+ }
+
+ ///
+ /// Invoked by the when
+ /// starting a client or server.
+ ///
+ ///
+ public void StartSession(StartAsTypes startAsType)
+ {
+ StartCoroutine(PreSceneLoading(startAsType));
+ }
+
+ ///
+ /// Both clients and the server invoke this when they shutdown.
+ ///
+ private void OnNetworkManagerShutdown(bool wasHost)
+ {
+ LoadMainMenu();
+ }
+
+ #region SCENE PRE & POST START LOADING METHODS
+
+
+
+ private IEnumerator PreSceneLoading(StartAsTypes startAsType)
+ {
+ var sceneDefines = startAsType == StartAsTypes.Client ? ClientSceneDefines : ServerSceneDefines;
+ SceneManager.sceneLoaded += SceneLoaded;
+
+ // Unloads any currently loaded scenes and becomes the default active scene.
+ // The default active scene ** has to be shared ** because it is where GameObjects are
+ // instantiated (which includes where network prefabs are instantiated when spawned dynamically)
+ yield return HandleSceneLoading(sceneDefines.DefaultActiveScene, LoadSceneMode.Single);
+
+ // Now load our local server or clien scenes additively
+ foreach (var sceneName in sceneDefines.LocalScenes)
+ {
+ yield return HandleSceneLoading(sceneName, LoadSceneMode.Additive);
+ }
+
+ // When running as a host, we load the client scenes too
+ if (startAsType == StartAsTypes.Host)
+ {
+ foreach (var sceneName in ClientSceneDefines.LocalScenes)
+ {
+ yield return HandleSceneLoading(sceneName, LoadSceneMode.Additive);
+ }
+ }
+
+ SceneManager.sceneLoaded -= SceneLoaded;
+
+ // Now start the NetworkManager (server or client)
+ if (startAsType != StartAsTypes.Client && m_NetworkManager.NetworkConfig.NetworkTopology == NetworkTopologyTypes.ClientServer)
+ {
+ // Server needs to do some additional congiruations to ignore the local scene loaded and
+ // will load any additional shared and synchronized scenes via the NetworkSceneManager.
+ m_NetworkManager.OnServerStarted += OnServerStarted;
+ m_NetworkManager.OnServerStopped += OnNetworkManagerShutdown;
+ if (startAsType == StartAsTypes.Server)
+ {
+ m_NetworkManager.StartServer();
+ }
+ else
+ {
+ m_NetworkManager.StartHost();
+ }
+ }
+ else
+ {
+ m_NetworkManager.OnClientStopped += OnNetworkManagerShutdown;
+
+ // Distributed authority needs to start using the service and needs to know when the client becomes
+ // the session owner.
+ if (m_NetworkManager.NetworkConfig.NetworkTopology == NetworkTopologyTypes.DistributedAuthority)
+ {
+ m_NetworkManager.OnSessionOwnerPromoted += OnSessionOwnerPromoted;
+ m_NetworkManager.StartOrConnectToDistributedAuthoritySession();
+ }
+ else
+ {
+ m_NetworkManager.StartClient();
+ }
+ }
+ }
+
+ ///
+ /// When the session owner is promoted, it needs to configure itself for the additive client synchronization
+ /// and handle scene validations.
+ ///
+ ///
+ private void OnSessionOwnerPromoted(ulong sessionOwnerPromoted)
+ {
+ if (sessionOwnerPromoted == m_NetworkManager.LocalClientId)
+ {
+ // When we set the client synchronization mode to additive, the session owner will include this setting
+ // setting when synchronizing a newly joining client and the client will use any already loaded scenes
+ // that the session owner determines should be synchronized. If a scene that is being synchronized is not
+ // yet loaded, then the client will load that scene.
+ m_NetworkManager.SceneManager.SetClientSynchronizationMode(LoadSceneMode.Additive);
+
+ // Add a callback to control which scene the session owner synchronizes with clients
+ m_NetworkManager.SceneManager.VerifySceneBeforeLoading = SessionOwnerVerifySceneShouldBeSynchronized;
+ }
+ }
+
+ ///
+ /// Handles scene loading via or depending upon
+ /// whether the is started or not.
+ ///
+ private IEnumerator HandleSceneLoading(string sceneName, LoadSceneMode loadSceneMode)
+ {
+ m_SceneJustLoaded = string.Empty;
+ m_SceneCurrentlyLoading = sceneName;
+
+ // Server will be the only NetworkManager instance where this is true
+ if (m_NetworkManager.IsListening)
+ {
+
+ var loadingStatus = m_NetworkManager.SceneManager.LoadScene(sceneName, loadSceneMode);
+ if (loadingStatus != SceneEventProgressStatus.Started)
+ {
+ Debug.LogError($"{nameof(NetworkSceneManager)} attempted to load scene {sceneName} but returned a status of {loadingStatus}!");
+ yield break;
+ }
+ }
+ else // Client and Server will both use this to preload their local scenes
+ {
+ SceneManager.LoadScene(m_SceneCurrentlyLoading, loadSceneMode);
+ }
+ while (m_SceneJustLoaded != m_SceneCurrentlyLoading)
+ {
+ yield return null;
+ }
+ }
+
+ private void SceneLoaded(Scene scene, LoadSceneMode loadSceneMode)
+ {
+ m_SceneJustLoaded = scene.name;
+ }
+ #endregion
+
+ #region SERVER POST START CONFIGURATION AND ADDITIONAL SHARED SCENE LOADING
+ ///
+ /// Starts the as a server.
+ ///
+ private void OnServerStarted()
+ {
+ m_NetworkManager.OnServerStarted -= OnServerStarted;
+
+ // When we set the client synchronization mode to additive, the server will include this setting
+ // when synchronizing a client and the client will use any already loaded scenes that the server
+ // wants to synchronize. If a scene that is being synchronized is not yet loaded, then the client
+ // will load that scene.
+ m_NetworkManager.SceneManager.SetClientSynchronizationMode(LoadSceneMode.Additive);
+
+ // Add a callback to control which scene the server synchronizes with clients
+ m_NetworkManager.SceneManager.VerifySceneBeforeLoading = ServerVerifySceneShouldBeSynchronized;
+
+ // If we have any additional shared scenes we want to load, then load them via NetworkSceneManager
+ if (ServerSceneDefines.SharedScenes.Count > 0)
+ {
+ StartCoroutine(ServerLoadAdditionalSharedScenes());
+ }
+ }
+
+ ///
+ /// When a client is first synchronized, the server will determine what scenes it should synchronize with the
+ /// client. This callback is invoked for every scene currently loaded and if it returns false then it will not
+ /// attempt to synchronize the scene with the client being synchronized.
+ ///
+ private bool ServerVerifySceneShouldBeSynchronized(int sceneIndex, string sceneName, LoadSceneMode loadSceneMode)
+ {
+ return !ServerSceneDefines.LocalScenes.Contains(sceneName);
+ }
+
+ ///
+ /// When a client is first synchronized, the session owner will determine what scenes it should synchronize with the
+ /// client. This callback is invoked for every scene currently loaded and if it returns false then it will not
+ /// attempt to synchronize the scene with the client being synchronized.
+ ///
+ ///
+ /// We use the for distributed authority to just exclude scenes that are already preloaded.
+ /// This is optional and semi-redundant since in a distributed network topology state is mirrored across all clients and
+ /// having locally loaded scenes not synchronized just limits where spawned objects can be migrated.
+ /// This is just for example purposes in the event you might need platform specific scenes loaded on a per client basis and/or
+ /// have some other project specific need to have locally loaded scenes that are not synchronized between all connected clients.
+ /// The recommended design for a distributed authority network topology is to just synchronize all scenes if possible.
+ ///
+ private bool SessionOwnerVerifySceneShouldBeSynchronized(int sceneIndex, string sceneName, LoadSceneMode loadSceneMode)
+ {
+ return !ClientSceneDefines.LocalScenes.Contains(sceneName);
+ }
+
+
+ private IEnumerator ServerLoadAdditionalSharedScenes()
+ {
+ m_NetworkManager.SceneManager.OnLoadEventCompleted += Server_OnLoadEventCompleted;
+
+ foreach (var sharedScene in ServerSceneDefines.SharedScenes)
+ {
+ yield return HandleSceneLoading(sharedScene, LoadSceneMode.Additive);
+ }
+ }
+
+ private void Server_OnLoadEventCompleted(string sceneName, LoadSceneMode loadSceneMode, List clientsCompleted, List clientsTimedOut)
+ {
+ m_SceneJustLoaded = sceneName;
+ }
+ #endregion
+}
+
+///
+/// The server scene defines included in (i.e. ) and this provides
+/// you with the ability to have additional additively loaded scenes that the server will
+/// synchronize with clients.
+///
+[Serializable]
+public class ServerSceneDefine : SceneDefine
+{
+ [HideInInspector]
+ public List SharedScenes;
+
+#if UNITY_EDITOR
+ [Tooltip("These scenes will be loaded additively upon starting a session and will be synchronized.")]
+ public List SharedSceneAssets;
+ protected override void OnValidate()
+ {
+ SharedScenes = new List();
+ foreach (var sharedSceneAsset in SharedSceneAssets)
+ {
+ if (sharedSceneAsset != null)
+ {
+ SharedScenes.Add(sharedSceneAsset.name);
+ }
+ }
+ base.OnValidate();
+ }
+#endif
+}
+
+///
+/// The base client and server scenes loaded prior to starting:
+/// : Must be synchonized/shared and is the default active scene.
+/// : Any client or server specific scenes you don't want synchronized, but
+/// want either the clients or server to load prior to starting a session.
+///
+[Serializable]
+public class SceneDefine
+{
+ [HideInInspector]
+ public string DefaultActiveScene;
+ [HideInInspector]
+ public List LocalScenes;
+
+#if UNITY_EDITOR
+ [Tooltip("This scene is synchronized and the default active scene loaded as LoadSceneMode.Single")]
+ public SceneAsset DefaultActiveSceneAsset;
+ [Tooltip("These scenes will be loaded additively and will not be synchronized.")]
+ public List LocalSceneAssets;
+
+ ///
+ /// Invoked by .
+ ///
+ ///
+ /// This is not the same as the Unity MonoBehaviour's OnValidate
+ ///
+ protected virtual void OnValidate()
+ {
+ DefaultActiveScene = string.Empty;
+ if (DefaultActiveSceneAsset)
+ {
+ DefaultActiveScene = DefaultActiveSceneAsset.name;
+ }
+ LocalScenes = new List();
+ foreach (var localSceneAsset in LocalSceneAssets)
+ {
+ if (localSceneAsset != null)
+ {
+ LocalScenes.Add(localSceneAsset.name);
+ }
+ }
+ }
+
+ public void Validate()
+ {
+ OnValidate();
+ }
+#endif
+}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/SceneBootstrapLoader.cs.meta b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/SceneBootstrapLoader.cs.meta
new file mode 100644
index 0000000000..adfb1bb99a
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/SceneBootstrapLoader.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: c4251d3d650053a419a5c503babb13a6
\ No newline at end of file
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/ServerHostClientText.cs b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/ServerHostClientText.cs
new file mode 100644
index 0000000000..93e150b2ba
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/ServerHostClientText.cs
@@ -0,0 +1,85 @@
+using Unity.Netcode;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class ServerHostClientText : NetworkBehaviour
+{
+ private Text m_DisplayText;
+
+ private Color m_Color;
+ private Color m_ColorAlpha;
+ private Vector3 m_AnchoredPosition;
+
+ public void SetColor(Color color)
+ {
+ m_Color = color;
+ m_ColorAlpha = color;
+ m_ColorAlpha.a = 0.35f;
+ }
+
+ private void Awake()
+ {
+ m_AnchoredPosition = (transform as RectTransform).anchoredPosition3D;
+ m_DisplayText = GetComponent();
+ }
+
+ private void Start()
+ {
+ if (m_DisplayText != null)
+ {
+ m_DisplayText.text = string.Empty;
+ SetColor(m_DisplayText.color);
+ }
+ }
+
+ public override void OnNetworkSpawn()
+ {
+ if (m_DisplayText != null)
+ {
+ if (NetworkManager.IsServer)
+ {
+ m_DisplayText.text = NetworkManager.IsHost ? "Host" : "Server";
+ if (!NetworkManager.IsHost)
+ {
+ SetColor(Color.white);
+ m_ColorAlpha.a = 0.65f;
+ }
+ }
+ else if (NetworkManager.IsClient)
+ {
+ m_DisplayText.text = $"Client-{NetworkManager.LocalClientId}";
+ }
+ }
+ (transform as RectTransform).anchoredPosition3D = m_AnchoredPosition;
+ base.OnNetworkSpawn();
+ }
+
+ public override void OnNetworkDespawn()
+ {
+ if (m_DisplayText != null)
+ {
+ m_DisplayText.text = string.Empty;
+ }
+ base.OnNetworkDespawn();
+ }
+
+ private bool m_LastFocusedValue;
+ private void OnGUI()
+ {
+ if (!IsSpawned || m_LastFocusedValue == Application.isFocused)
+ {
+ return;
+ }
+
+ m_LastFocusedValue = Application.isFocused;
+
+ if (m_LastFocusedValue)
+ {
+ m_DisplayText.color = m_Color;
+ }
+ else
+ {
+ m_DisplayText.color = m_ColorAlpha;
+ }
+ }
+}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/ServerHostClientText.cs.meta b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/ServerHostClientText.cs.meta
new file mode 100644
index 0000000000..081f5a96a8
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/ServerHostClientText.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6637cd674efb56a48a3d4d545d23a8d3
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/ServerInfoDisplay.cs b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/ServerInfoDisplay.cs
new file mode 100644
index 0000000000..ebc84d8d98
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/ServerInfoDisplay.cs
@@ -0,0 +1,27 @@
+using Unity.Netcode;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class ServerInfoDisplay : MonoBehaviour
+{
+ public Text ServerTime;
+ public Text PlayerCount;
+
+ private void OnGUI()
+ {
+ if (!NetworkManager.Singleton || !NetworkManager.Singleton.IsListening)
+ {
+ return;
+ }
+
+ if (ServerTime)
+ {
+ ServerTime.text = $"NetworkTick: {NetworkManager.Singleton.ServerTime.Tick}";
+ }
+
+ if (PlayerCount)
+ {
+ PlayerCount.text = $"Player Count: {NetworkManager.Singleton.ConnectedClients.Count}";
+ }
+ }
+}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/ServerInfoDisplay.cs.meta b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/ServerInfoDisplay.cs.meta
new file mode 100644
index 0000000000..8fcedfa9ff
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/ServerInfoDisplay.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: d370147e4c421014cb5dd4eee3b6a373
\ No newline at end of file
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/TriggerPush.cs b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/TriggerPush.cs
new file mode 100644
index 0000000000..ade22f3ed6
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/TriggerPush.cs
@@ -0,0 +1,63 @@
+using UnityEngine;
+
+///
+/// This helper class is used to push a player away from a rotating body.
+/// s without a don't
+/// handle collision with rotating bodies. This simulates a "collision".
+///
+public class TriggerPush : MonoBehaviour
+{
+ public enum RightOrLeft
+ {
+ Right,
+ Left
+ }
+
+ [Tooltip("Determines if this trigger will push the player to the left or right of the root transform")]
+ public RightOrLeft PushDirection;
+
+ private TagHandle m_TagHandle;
+
+ private void Awake()
+ {
+ m_TagHandle = TagHandle.GetExistingTag("Player");
+ }
+
+ private void PushObject(Collider other, bool isInside = false)
+ {
+ var nonRigidPlayerMover = other.GetComponent();
+ if (nonRigidPlayerMover != null && nonRigidPlayerMover.CanCommitToTransform)
+ {
+ // We determine the direction to push and if within a trigger we push a little more to prevent from
+ // completely clipping through the object.
+ var direction = (PushDirection == RightOrLeft.Right ? 1.0f : -1.0f) * (isInside ? 1.75f : 1.0f);
+ nonRigidPlayerMover.PushAwayFrom(transform.parent.right * direction);
+ }
+ }
+
+ ///
+ /// Pushes the player away from the object
+ ///
+ private void OnTriggerEnter(Collider other)
+ {
+ if (!other.CompareTag(m_TagHandle))
+ {
+ return;
+ }
+ PushObject(other);
+ }
+
+ ///
+ /// When the trigger is in a "stay" state, we need to signal that
+ /// the amount to "push away" should be increased.
+ ///
+ ///
+ private void OnTriggerStay(Collider other)
+ {
+ if (!other.CompareTag(m_TagHandle))
+ {
+ return;
+ }
+ PushObject(other, true);
+ }
+}
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Scripts/TriggerPush.cs.meta b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/TriggerPush.cs.meta
new file mode 100644
index 0000000000..7c07b1ebfc
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Scripts/TriggerPush.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 2c40721ca0fd31645a742e5ad0e0cdc5
\ No newline at end of file
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Textures.meta b/Examples/OverridingScenesAndPrefabs/Assets/Textures.meta
new file mode 100644
index 0000000000..84caff0700
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Textures.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 22c34a08d52a0644fae5e90dbcc0ba52
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Textures/GridPattern.png b/Examples/OverridingScenesAndPrefabs/Assets/Textures/GridPattern.png
new file mode 100644
index 0000000000..e2f648aacc
Binary files /dev/null and b/Examples/OverridingScenesAndPrefabs/Assets/Textures/GridPattern.png differ
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Textures/GridPattern.png.meta b/Examples/OverridingScenesAndPrefabs/Assets/Textures/GridPattern.png.meta
new file mode 100644
index 0000000000..305bd2392c
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Textures/GridPattern.png.meta
@@ -0,0 +1,153 @@
+fileFormatVersion: 2
+guid: a092c5fa8c60ed04aa1d72555f1740bc
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 12
+ 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: 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: 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
+ - serializedVersion: 3
+ buildTarget: Windows Store Apps
+ 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: Server
+ 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/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_01_BaseMap.png b/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_01_BaseMap.png
new file mode 100644
index 0000000000..3f311d2225
Binary files /dev/null and b/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_01_BaseMap.png differ
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_01_BaseMap.png.meta b/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_01_BaseMap.png.meta
new file mode 100644
index 0000000000..3a05497054
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_01_BaseMap.png.meta
@@ -0,0 +1,130 @@
+fileFormatVersion: 2
+guid: e71f43865e91e6b418bd0d67be2445dc
+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: 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: 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
+ - serializedVersion: 4
+ buildTarget: WindowsStoreApps
+ 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: []
+ customData:
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spriteCustomMetadata:
+ entries: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_01_Emissive.png b/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_01_Emissive.png
new file mode 100644
index 0000000000..df81ac1268
Binary files /dev/null and b/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_01_Emissive.png differ
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_01_Emissive.png.meta b/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_01_Emissive.png.meta
new file mode 100644
index 0000000000..bcfe13d8d7
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_01_Emissive.png.meta
@@ -0,0 +1,130 @@
+fileFormatVersion: 2
+guid: 8bf2cf149563066489e749ea032dbca7
+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: 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: 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
+ - serializedVersion: 4
+ buildTarget: WindowsStoreApps
+ 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: []
+ customData:
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spriteCustomMetadata:
+ entries: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_01_Normal.png b/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_01_Normal.png
new file mode 100644
index 0000000000..1d060fba61
Binary files /dev/null and b/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_01_Normal.png differ
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_01_Normal.png.meta b/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_01_Normal.png.meta
new file mode 100644
index 0000000000..4a5b2ad61c
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_01_Normal.png.meta
@@ -0,0 +1,130 @@
+fileFormatVersion: 2
+guid: b94463ba36040ec4082132c54dd1bbad
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ 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: 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: 1
+ 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: 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
+ - serializedVersion: 4
+ buildTarget: WindowsStoreApps
+ 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: []
+ customData:
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spriteCustomMetadata:
+ entries: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_02_BaseMap.png b/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_02_BaseMap.png
new file mode 100644
index 0000000000..b3069b03d1
Binary files /dev/null and b/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_02_BaseMap.png differ
diff --git a/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_02_BaseMap.png.meta b/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_02_BaseMap.png.meta
new file mode 100644
index 0000000000..7fbedef673
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Assets/Textures/Grid_02_BaseMap.png.meta
@@ -0,0 +1,130 @@
+fileFormatVersion: 2
+guid: 844faea9c35b2464c8ecb09f66e2e2f8
+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: 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: 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
+ - serializedVersion: 4
+ buildTarget: WindowsStoreApps
+ 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: []
+ customData:
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spriteCustomMetadata:
+ entries: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples/OverridingScenesAndPrefabs/Images/EndResultView.png b/Examples/OverridingScenesAndPrefabs/Images/EndResultView.png
new file mode 100644
index 0000000000..b98d38ee98
Binary files /dev/null and b/Examples/OverridingScenesAndPrefabs/Images/EndResultView.png differ
diff --git a/Examples/OverridingScenesAndPrefabs/Images/NetworkManagerBootstrapper.png b/Examples/OverridingScenesAndPrefabs/Images/NetworkManagerBootstrapper.png
new file mode 100644
index 0000000000..21a39012e9
Binary files /dev/null and b/Examples/OverridingScenesAndPrefabs/Images/NetworkManagerBootstrapper.png differ
diff --git a/Examples/OverridingScenesAndPrefabs/Images/NetworkManagerBootstrapperProperties.png b/Examples/OverridingScenesAndPrefabs/Images/NetworkManagerBootstrapperProperties.png
new file mode 100644
index 0000000000..8bf0db7fd8
Binary files /dev/null and b/Examples/OverridingScenesAndPrefabs/Images/NetworkManagerBootstrapperProperties.png differ
diff --git a/Examples/OverridingScenesAndPrefabs/Images/NetworkPrefabOverrideHandler.png b/Examples/OverridingScenesAndPrefabs/Images/NetworkPrefabOverrideHandler.png
new file mode 100644
index 0000000000..e5ce6e6835
Binary files /dev/null and b/Examples/OverridingScenesAndPrefabs/Images/NetworkPrefabOverrideHandler.png differ
diff --git a/Examples/OverridingScenesAndPrefabs/Images/SceneBootstrapLoader.png b/Examples/OverridingScenesAndPrefabs/Images/SceneBootstrapLoader.png
new file mode 100644
index 0000000000..d69118f4f6
Binary files /dev/null and b/Examples/OverridingScenesAndPrefabs/Images/SceneBootstrapLoader.png differ
diff --git a/Examples/OverridingScenesAndPrefabs/Images/ScenesView.png b/Examples/OverridingScenesAndPrefabs/Images/ScenesView.png
new file mode 100644
index 0000000000..49dcc587b6
Binary files /dev/null and b/Examples/OverridingScenesAndPrefabs/Images/ScenesView.png differ
diff --git a/Examples/OverridingScenesAndPrefabs/Images/ServiceSettings.png b/Examples/OverridingScenesAndPrefabs/Images/ServiceSettings.png
new file mode 100644
index 0000000000..ea7d2729d2
Binary files /dev/null and b/Examples/OverridingScenesAndPrefabs/Images/ServiceSettings.png differ
diff --git a/Examples/OverridingScenesAndPrefabs/Packages/manifest.json b/Examples/OverridingScenesAndPrefabs/Packages/manifest.json
new file mode 100644
index 0000000000..2ffae44925
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Packages/manifest.json
@@ -0,0 +1,56 @@
+{
+ "dependencies": {
+ "com.unity.2d.sprite": "1.0.0",
+ "com.unity.2d.tilemap": "1.0.0",
+ "com.unity.ads": "4.4.2",
+ "com.unity.ai.navigation": "2.0.4",
+ "com.unity.analytics": "3.8.1",
+ "com.unity.collab-proxy": "2.5.2",
+ "com.unity.feature.development": "1.0.2",
+ "com.unity.ide.rider": "3.0.31",
+ "com.unity.ide.visualstudio": "2.0.22",
+ "com.unity.multiplayer.center": "1.0.0",
+ "com.unity.netcode.gameobjects": "https://github.com/Unity-Technologies/com.unity.netcode.gameobjects.git?path=com.unity.netcode.gameobjects#develop-2.0.0",
+ "com.unity.purchasing": "4.12.2",
+ "com.unity.services.multiplayer": "1.0.0",
+ "com.unity.test-framework": "1.4.5",
+ "com.unity.timeline": "1.8.7",
+ "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.9",
+ "com.unity.transport": "2.3.0",
+ "com.unity.ugui": "2.0.0",
+ "com.unity.visualscripting": "1.9.4",
+ "com.unity.xr.legacyinputhelpers": "2.1.11",
+ "com.unity.modules.accessibility": "1.0.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/Examples/OverridingScenesAndPrefabs/ProjectSettings/ClusterInputManager.asset b/Examples/OverridingScenesAndPrefabs/ProjectSettings/ClusterInputManager.asset
new file mode 100644
index 0000000000..e7886b266a
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/ProjectSettings/ClusterInputManager.asset
@@ -0,0 +1,6 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!236 &1
+ClusterInputManager:
+ m_ObjectHideFlags: 0
+ m_Inputs: []
diff --git a/Examples/OverridingScenesAndPrefabs/ProjectSettings/DynamicsManager.asset b/Examples/OverridingScenesAndPrefabs/ProjectSettings/DynamicsManager.asset
new file mode 100644
index 0000000000..735596aed0
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/ProjectSettings/DynamicsManager.asset
@@ -0,0 +1,37 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!55 &1
+PhysicsManager:
+ m_ObjectHideFlags: 0
+ serializedVersion: 17
+ m_Gravity: {x: 0, y: -9.81, z: 0}
+ m_DefaultMaterial: {fileID: 0}
+ m_BounceThreshold: 2
+ m_DefaultMaxDepenetrationVelocity: 10
+ m_SleepThreshold: 0.005
+ m_DefaultContactOffset: 0.01
+ m_DefaultSolverIterations: 6
+ m_DefaultSolverVelocityIterations: 1
+ m_QueriesHitBackfaces: 0
+ m_QueriesHitTriggers: 1
+ m_EnableAdaptiveForce: 0
+ m_ClothInterCollisionDistance: 0.1
+ m_ClothInterCollisionStiffness: 0.2
+ m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ m_SimulationMode: 0
+ m_AutoSyncTransforms: 0
+ m_ReuseCollisionCallbacks: 0
+ m_InvokeCollisionCallbacks: 1
+ m_ClothInterCollisionSettingsToggle: 0
+ m_ClothGravity: {x: 0, y: -9.81, z: 0}
+ m_ContactPairsMode: 0
+ m_BroadphaseType: 0
+ m_FrictionType: 0
+ m_EnableEnhancedDeterminism: 0
+ m_EnableUnifiedHeightmaps: 1
+ m_ImprovedPatchFriction: 0
+ m_SolverType: 0
+ m_DefaultMaxAngularSpeed: 50
+ m_ScratchBufferChunkCount: 4
+ m_CurrentBackendId: 4072204805
+ m_FastMotionThreshold: 3.4028235e+38
diff --git a/Examples/OverridingScenesAndPrefabs/ProjectSettings/EditorBuildSettings.asset b/Examples/OverridingScenesAndPrefabs/ProjectSettings/EditorBuildSettings.asset
new file mode 100644
index 0000000000..5494efdd30
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/ProjectSettings/EditorBuildSettings.asset
@@ -0,0 +1,24 @@
+%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/BootstrapScene.unity
+ guid: 8077653236d44fd4b92cd4a96193e8b6
+ - enabled: 1
+ path: Assets/Scenes/MainMenu.unity
+ guid: 1ec6afcedd7df124e91af7bfbcea59b2
+ - enabled: 1
+ path: Assets/Scenes/SharedScene.unity
+ guid: 9fc0d4010bbf28b4594072e72b8655ab
+ - enabled: 1
+ path: Assets/Scenes/ServerScene.unity
+ guid: ee7bfa213000a594bb8011364915602e
+ - enabled: 1
+ path: Assets/Scenes/ClientScene.unity
+ guid: d8ac305138d51a84dbbb734b81c4054e
+ m_configObjects: {}
+ m_UseUCBPForAssetBundles: 0
diff --git a/Examples/OverridingScenesAndPrefabs/ProjectSettings/EditorSettings.asset b/Examples/OverridingScenesAndPrefabs/ProjectSettings/EditorSettings.asset
new file mode 100644
index 0000000000..75d7ca8478
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/ProjectSettings/EditorSettings.asset
@@ -0,0 +1,48 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!159 &1
+EditorSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 13
+ m_SerializationMode: 2
+ m_LineEndingsForNewScripts: 2
+ m_DefaultBehaviorMode: 0
+ m_PrefabRegularEnvironment: {fileID: 0}
+ m_PrefabUIEnvironment: {fileID: 0}
+ m_SpritePackerMode: 0
+ m_SpritePackerCacheSize: 10
+ m_SpritePackerPaddingPower: 1
+ m_Bc7TextureCompressor: 0
+ m_EtcTextureCompressorBehavior: 1
+ m_EtcTextureFastCompressor: 1
+ m_EtcTextureNormalCompressor: 2
+ m_EtcTextureBestCompressor: 4
+ m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp;java;cpp;c;mm;m;h
+ m_ProjectGenerationRootNamespace:
+ m_EnableTextureStreamingInEditMode: 1
+ m_EnableTextureStreamingInPlayMode: 1
+ m_EnableEditorAsyncCPUTextureLoading: 0
+ m_AsyncShaderCompilation: 1
+ m_PrefabModeAllowAutoSave: 1
+ m_EnterPlayModeOptionsEnabled: 1
+ m_EnterPlayModeOptions: 0
+ m_GameObjectNamingDigits: 1
+ m_GameObjectNamingScheme: 0
+ m_AssetNamingUsesSpace: 1
+ m_InspectorUseIMGUIDefaultInspector: 0
+ m_UseLegacyProbeSampleCount: 0
+ m_SerializeInlineMappingsOnOneLine: 1
+ m_DisableCookiesInLightmapper: 0
+ m_AssetPipelineMode: 1
+ m_RefreshImportMode: 0
+ m_CacheServerMode: 0
+ m_CacheServerEndpoint:
+ m_CacheServerNamespacePrefix: default
+ m_CacheServerEnableDownload: 1
+ m_CacheServerEnableUpload: 1
+ m_CacheServerEnableAuth: 0
+ m_CacheServerEnableTls: 0
+ m_CacheServerValidationMode: 2
+ m_CacheServerDownloadBatchSize: 128
+ m_EnableEnlightenBakedGI: 0
+ m_ReferencedClipsExactNaming: 1
diff --git a/Examples/OverridingScenesAndPrefabs/ProjectSettings/GraphicsSettings.asset b/Examples/OverridingScenesAndPrefabs/ProjectSettings/GraphicsSettings.asset
new file mode 100644
index 0000000000..7c0ea0b5c3
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/ProjectSettings/GraphicsSettings.asset
@@ -0,0 +1,66 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!30 &1
+GraphicsSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 16
+ m_Deferred:
+ m_Mode: 1
+ m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
+ m_DeferredReflections:
+ m_Mode: 1
+ m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
+ m_ScreenSpaceShadows:
+ m_Mode: 1
+ m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
+ m_DepthNormals:
+ m_Mode: 1
+ m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
+ m_MotionVectors:
+ m_Mode: 1
+ m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
+ m_LightHalo:
+ m_Mode: 1
+ m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
+ m_LensFlare:
+ m_Mode: 1
+ m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
+ m_VideoShadersIncludeMode: 2
+ m_AlwaysIncludedShaders:
+ - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0}
+ m_PreloadedShaders: []
+ m_PreloadShadersBatchTimeLimit: -1
+ m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ m_CustomRenderPipeline: {fileID: 0}
+ m_TransparencySortMode: 0
+ m_TransparencySortAxis: {x: 0, y: 0, z: 1}
+ m_DefaultRenderingPath: 1
+ m_DefaultMobileRenderingPath: 1
+ m_TierSettings: []
+ m_LightmapStripping: 0
+ m_FogStripping: 0
+ m_InstancingStripping: 0
+ m_BrgStripping: 0
+ m_LightmapKeepPlain: 1
+ m_LightmapKeepDirCombined: 1
+ m_LightmapKeepDynamicPlain: 1
+ m_LightmapKeepDynamicDirCombined: 1
+ m_LightmapKeepShadowMask: 1
+ m_LightmapKeepSubtractive: 1
+ m_FogKeepLinear: 1
+ m_FogKeepExp: 1
+ m_FogKeepExp2: 1
+ m_AlbedoSwatchInfos: []
+ m_RenderPipelineGlobalSettingsMap: {}
+ m_LightsUseLinearIntensity: 0
+ m_LightsUseColorTemperature: 0
+ m_LogWhenShaderIsCompiled: 0
+ m_LightProbeOutsideHullStrategy: 1
+ m_CameraRelativeLightCulling: 0
+ m_CameraRelativeShadowCulling: 0
diff --git a/Examples/OverridingScenesAndPrefabs/ProjectSettings/InputManager.asset b/Examples/OverridingScenesAndPrefabs/ProjectSettings/InputManager.asset
new file mode 100644
index 0000000000..8068b2058b
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/ProjectSettings/InputManager.asset
@@ -0,0 +1,296 @@
+%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
+ m_UsePhysicalKeys: 1
diff --git a/Examples/OverridingScenesAndPrefabs/ProjectSettings/MemorySettings.asset b/Examples/OverridingScenesAndPrefabs/ProjectSettings/MemorySettings.asset
new file mode 100644
index 0000000000..5b5facecac
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/ProjectSettings/MemorySettings.asset
@@ -0,0 +1,35 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!387306366 &1
+MemorySettings:
+ m_ObjectHideFlags: 0
+ m_EditorMemorySettings:
+ m_MainAllocatorBlockSize: -1
+ m_ThreadAllocatorBlockSize: -1
+ m_MainGfxBlockSize: -1
+ m_ThreadGfxBlockSize: -1
+ m_CacheBlockSize: -1
+ m_TypetreeBlockSize: -1
+ m_ProfilerBlockSize: -1
+ m_ProfilerEditorBlockSize: -1
+ m_BucketAllocatorGranularity: -1
+ m_BucketAllocatorBucketsCount: -1
+ m_BucketAllocatorBlockSize: -1
+ m_BucketAllocatorBlockCount: -1
+ m_ProfilerBucketAllocatorGranularity: -1
+ m_ProfilerBucketAllocatorBucketsCount: -1
+ m_ProfilerBucketAllocatorBlockSize: -1
+ m_ProfilerBucketAllocatorBlockCount: -1
+ m_TempAllocatorSizeMain: -1
+ m_JobTempAllocatorBlockSize: -1
+ m_BackgroundJobTempAllocatorBlockSize: -1
+ m_JobTempAllocatorReducedBlockSize: -1
+ m_TempAllocatorSizeGIBakingWorker: -1
+ m_TempAllocatorSizeNavMeshWorker: -1
+ m_TempAllocatorSizeAudioWorker: -1
+ m_TempAllocatorSizeCloudWorker: -1
+ m_TempAllocatorSizeGfx: -1
+ m_TempAllocatorSizeJobWorker: -1
+ m_TempAllocatorSizeBackgroundWorker: -1
+ m_TempAllocatorSizePreloadManager: -1
+ m_PlatformMemorySettings: {}
diff --git a/Examples/OverridingScenesAndPrefabs/ProjectSettings/MultiplayerManager.asset b/Examples/OverridingScenesAndPrefabs/ProjectSettings/MultiplayerManager.asset
new file mode 100644
index 0000000000..2a936644e0
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/ProjectSettings/MultiplayerManager.asset
@@ -0,0 +1,7 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!655991488 &1
+MultiplayerManager:
+ m_ObjectHideFlags: 0
+ m_EnableMultiplayerRoles: 0
+ m_StrippingTypes: {}
diff --git a/Examples/OverridingScenesAndPrefabs/ProjectSettings/NavMeshAreas.asset b/Examples/OverridingScenesAndPrefabs/ProjectSettings/NavMeshAreas.asset
new file mode 100644
index 0000000000..2e2e36968e
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/ProjectSettings/NavMeshAreas.asset
@@ -0,0 +1,93 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!126 &1
+NavMeshProjectSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ areas:
+ - name: Walkable
+ cost: 1
+ - name: Not Walkable
+ cost: 1
+ - name: Jump
+ cost: 2
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ m_LastAgentTypeID: -887442657
+ m_Settings:
+ - serializedVersion: 3
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.75
+ 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_SettingNames:
+ - Humanoid
diff --git a/Examples/OverridingScenesAndPrefabs/ProjectSettings/Physics2DSettings.asset b/Examples/OverridingScenesAndPrefabs/ProjectSettings/Physics2DSettings.asset
new file mode 100644
index 0000000000..c00eeb46fd
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/ProjectSettings/Physics2DSettings.asset
@@ -0,0 +1,56 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!19 &1
+Physics2DSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 6
+ m_Gravity: {x: 0, y: -9.81}
+ m_DefaultMaterial: {fileID: 0}
+ m_VelocityIterations: 8
+ m_PositionIterations: 3
+ m_BounceThreshold: 1
+ m_MaxLinearCorrection: 0.2
+ m_MaxAngularCorrection: 8
+ m_MaxTranslationSpeed: 100
+ m_MaxRotationSpeed: 360
+ m_BaumgarteScale: 0.2
+ m_BaumgarteTimeOfImpactScale: 0.75
+ m_TimeToSleep: 0.5
+ m_LinearSleepTolerance: 0.01
+ m_AngularSleepTolerance: 2
+ m_DefaultContactOffset: 0.01
+ m_ContactThreshold: 0
+ m_JobOptions:
+ serializedVersion: 2
+ useMultithreading: 0
+ useConsistencySorting: 0
+ m_InterpolationPosesPerJob: 100
+ m_NewContactsPerJob: 30
+ m_CollideContactsPerJob: 100
+ m_ClearFlagsPerJob: 200
+ m_ClearBodyForcesPerJob: 200
+ m_SyncDiscreteFixturesPerJob: 50
+ m_SyncContinuousFixturesPerJob: 50
+ m_FindNearestContactsPerJob: 100
+ m_UpdateTriggerContactsPerJob: 100
+ m_IslandSolverCostThreshold: 100
+ m_IslandSolverBodyCostScale: 1
+ m_IslandSolverContactCostScale: 10
+ m_IslandSolverJointCostScale: 10
+ m_IslandSolverBodiesPerJob: 50
+ m_IslandSolverContactsPerJob: 50
+ m_SimulationMode: 0
+ m_SimulationLayers:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_MaxSubStepCount: 4
+ m_MinSubStepFPS: 30
+ m_UseSubStepping: 0
+ m_UseSubStepContacts: 0
+ m_QueriesHitTriggers: 1
+ m_QueriesStartInColliders: 1
+ m_CallbacksOnDisable: 1
+ m_ReuseCollisionCallbacks: 1
+ m_AutoSyncTransforms: 0
+ m_GizmoOptions: 10
+ m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
diff --git a/Examples/OverridingScenesAndPrefabs/ProjectSettings/PresetManager.asset b/Examples/OverridingScenesAndPrefabs/ProjectSettings/PresetManager.asset
new file mode 100644
index 0000000000..67a94daefe
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/ProjectSettings/PresetManager.asset
@@ -0,0 +1,7 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1386491679 &1
+PresetManager:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_DefaultPresets: {}
diff --git a/Examples/OverridingScenesAndPrefabs/ProjectSettings/ProjectSettings.asset b/Examples/OverridingScenesAndPrefabs/ProjectSettings/ProjectSettings.asset
new file mode 100644
index 0000000000..7894df05ea
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/ProjectSettings/ProjectSettings.asset
@@ -0,0 +1,782 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!129 &1
+PlayerSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 28
+ productGUID: 6859c206e4885eb4d9a885722be3daa1
+ AndroidProfiler: 0
+ AndroidFilterTouchesWhenObscured: 0
+ AndroidEnableSustainedPerformanceMode: 0
+ defaultScreenOrientation: 4
+ targetDevice: 2
+ useOnDemandResources: 0
+ accelerometerFrequency: 60
+ companyName: Unity Software
+ productName: OverridingScenesAndPrefabs
+ defaultCursor: {fileID: 0}
+ cursorHotspot: {x: 0, y: 0}
+ m_SplashScreenBackgroundColor: {r: 0.12156863, g: 0.12156863, b: 0.1254902, a: 1}
+ m_ShowUnitySplashScreen: 1
+ m_ShowUnitySplashLogo: 1
+ m_SplashScreenOverlayOpacity: 1
+ m_SplashScreenAnimation: 1
+ m_SplashScreenLogoStyle: 1
+ m_SplashScreenDrawMode: 0
+ m_SplashScreenBackgroundAnimationZoom: 1
+ m_SplashScreenLogoAnimationZoom: 1
+ m_SplashScreenBackgroundLandscapeAspect: 1
+ m_SplashScreenBackgroundPortraitAspect: 1
+ m_SplashScreenBackgroundLandscapeUvs:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ m_SplashScreenBackgroundPortraitUvs:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ m_SplashScreenLogos: []
+ m_VirtualRealitySplashScreen: {fileID: 0}
+ m_HolographicTrackingLossScreen: {fileID: 0}
+ defaultScreenWidth: 1920
+ defaultScreenHeight: 1080
+ defaultScreenWidthWeb: 960
+ defaultScreenHeightWeb: 600
+ m_StereoRenderingPath: 0
+ m_ActiveColorSpace: 0
+ unsupportedMSAAFallback: 0
+ m_SpriteBatchMaxVertexCount: 65535
+ m_SpriteBatchVertexThreshold: 300
+ m_MTRendering: 1
+ mipStripping: 0
+ numberOfMipsStripped: 0
+ numberOfMipsStrippedPerMipmapLimitGroup: {}
+ m_StackTraceTypes: 010000000100000001000000010000000100000001000000
+ iosShowActivityIndicatorOnLoading: -1
+ androidShowActivityIndicatorOnLoading: -1
+ iosUseCustomAppBackgroundBehavior: 0
+ allowedAutorotateToPortrait: 1
+ allowedAutorotateToPortraitUpsideDown: 1
+ allowedAutorotateToLandscapeRight: 1
+ allowedAutorotateToLandscapeLeft: 1
+ useOSAutorotation: 1
+ use32BitDisplayBuffer: 1
+ preserveFramebufferAlpha: 0
+ disableDepthAndStencilBuffers: 0
+ androidStartInFullscreen: 1
+ androidRenderOutsideSafeArea: 1
+ androidUseSwappy: 1
+ androidBlitType: 0
+ androidResizeableActivity: 1
+ androidDefaultWindowWidth: 1920
+ androidDefaultWindowHeight: 1080
+ androidMinimumWindowWidth: 400
+ androidMinimumWindowHeight: 300
+ androidFullscreenMode: 1
+ androidAutoRotationBehavior: 1
+ androidPredictiveBackSupport: 0
+ androidApplicationEntry: 2
+ defaultIsNativeResolution: 1
+ macRetinaSupport: 1
+ runInBackground: 1
+ muteOtherAudioSources: 0
+ Prepare IOS For Recording: 0
+ Force IOS Speakers When Recording: 0
+ deferSystemGesturesMode: 0
+ hideHomeButton: 0
+ submitAnalytics: 1
+ usePlayerLog: 1
+ dedicatedServerOptimizations: 1
+ bakeCollisionMeshes: 0
+ forceSingleInstance: 0
+ useFlipModelSwapchain: 1
+ resizableWindow: 1
+ useMacAppStoreValidation: 0
+ macAppStoreCategory: public.app-category.games
+ gpuSkinning: 1
+ meshDeformation: 1
+ xboxPIXTextureCapture: 0
+ xboxEnableAvatar: 0
+ xboxEnableKinect: 0
+ xboxEnableKinectAutoTracking: 0
+ xboxEnableFitness: 0
+ visibleInBackground: 1
+ allowFullscreenSwitch: 1
+ fullscreenMode: 3
+ xboxSpeechDB: 0
+ xboxEnableHeadOrientation: 0
+ xboxEnableGuest: 0
+ xboxEnablePIXSampling: 0
+ metalFramebufferOnly: 0
+ xboxOneResolution: 0
+ xboxOneSResolution: 0
+ xboxOneXResolution: 3
+ xboxOneMonoLoggingLevel: 0
+ xboxOneLoggingLevel: 1
+ xboxOneDisableEsram: 0
+ xboxOneEnableTypeOptimization: 0
+ xboxOnePresentImmediateThreshold: 0
+ switchQueueCommandMemory: 1048576
+ switchQueueControlMemory: 16384
+ switchQueueComputeMemory: 262144
+ switchNVNShaderPoolsGranularity: 33554432
+ switchNVNDefaultPoolsGranularity: 16777216
+ switchNVNOtherPoolsGranularity: 16777216
+ switchGpuScratchPoolGranularity: 2097152
+ switchAllowGpuScratchShrinking: 0
+ switchNVNMaxPublicTextureIDCount: 0
+ switchNVNMaxPublicSamplerIDCount: 0
+ switchMaxWorkerMultiple: 8
+ switchNVNGraphicsFirmwareMemory: 32
+ vulkanNumSwapchainBuffers: 3
+ vulkanEnableSetSRGBWrite: 0
+ vulkanEnablePreTransform: 0
+ vulkanEnableLateAcquireNextImage: 0
+ vulkanEnableCommandBufferRecycling: 1
+ loadStoreDebugModeEnabled: 0
+ visionOSBundleVersion: 1.0
+ tvOSBundleVersion: 1.0
+ bundleVersion: 1.0
+ preloadedAssets: []
+ metroInputSource: 0
+ wsaTransparentSwapchain: 0
+ m_HolographicPauseOnTrackingLoss: 1
+ xboxOneDisableKinectGpuReservation: 1
+ xboxOneEnable7thCore: 1
+ vrSettings:
+ enable360StereoCapture: 0
+ isWsaHolographicRemotingEnabled: 0
+ enableFrameTimingStats: 0
+ enableOpenGLProfilerGPURecorders: 1
+ allowHDRDisplaySupport: 0
+ useHDRDisplay: 0
+ hdrBitDepth: 0
+ m_ColorGamuts: 00000000
+ targetPixelDensity: 30
+ resolutionScalingMode: 0
+ resetResolutionOnWindowResize: 0
+ androidSupportedAspectRatio: 1
+ androidMaxAspectRatio: 2.1
+ androidMinAspectRatio: 1
+ applicationIdentifier:
+ Standalone: com.DefaultCompany.CharacterControllerMovingBodies
+ buildNumber:
+ Standalone: 0
+ VisionOS: 0
+ iPhone: 0
+ tvOS: 0
+ overrideDefaultApplicationIdentifier: 0
+ AndroidBundleVersionCode: 1
+ AndroidMinSdkVersion: 23
+ AndroidTargetSdkVersion: 0
+ AndroidPreferredInstallLocation: 1
+ aotOptions:
+ stripEngineCode: 1
+ iPhoneStrippingLevel: 0
+ iPhoneScriptCallOptimization: 0
+ ForceInternetPermission: 0
+ ForceSDCardPermission: 0
+ CreateWallpaper: 0
+ androidSplitApplicationBinary: 0
+ keepLoadedShadersAlive: 0
+ StripUnusedMeshComponents: 0
+ strictShaderVariantMatching: 0
+ VertexChannelCompressionMask: 4054
+ iPhoneSdkVersion: 988
+ iOSSimulatorArchitecture: 0
+ iOSTargetOSVersionString: 13.0
+ tvOSSdkVersion: 0
+ tvOSSimulatorArchitecture: 0
+ tvOSRequireExtendedGameController: 0
+ tvOSTargetOSVersionString: 13.0
+ VisionOSSdkVersion: 0
+ VisionOSTargetOSVersionString: 1.0
+ uIPrerenderedIcon: 0
+ uIRequiresPersistentWiFi: 0
+ uIRequiresFullScreen: 1
+ uIStatusBarHidden: 1
+ uIExitOnSuspend: 0
+ uIStatusBarStyle: 0
+ appleTVSplashScreen: {fileID: 0}
+ appleTVSplashScreen2x: {fileID: 0}
+ tvOSSmallIconLayers: []
+ tvOSSmallIconLayers2x: []
+ tvOSLargeIconLayers: []
+ tvOSLargeIconLayers2x: []
+ tvOSTopShelfImageLayers: []
+ tvOSTopShelfImageLayers2x: []
+ tvOSTopShelfImageWideLayers: []
+ tvOSTopShelfImageWideLayers2x: []
+ iOSLaunchScreenType: 0
+ iOSLaunchScreenPortrait: {fileID: 0}
+ iOSLaunchScreenLandscape: {fileID: 0}
+ iOSLaunchScreenBackgroundColor:
+ serializedVersion: 2
+ rgba: 0
+ iOSLaunchScreenFillPct: 100
+ iOSLaunchScreenSize: 100
+ iOSLaunchScreeniPadType: 0
+ iOSLaunchScreeniPadImage: {fileID: 0}
+ iOSLaunchScreeniPadBackgroundColor:
+ serializedVersion: 2
+ rgba: 0
+ iOSLaunchScreeniPadFillPct: 100
+ iOSLaunchScreeniPadSize: 100
+ iOSLaunchScreenCustomStoryboardPath:
+ iOSLaunchScreeniPadCustomStoryboardPath:
+ iOSDeviceRequirements: []
+ iOSURLSchemes: []
+ macOSURLSchemes: []
+ iOSBackgroundModes: 0
+ iOSMetalForceHardShadows: 0
+ metalEditorSupport: 1
+ metalAPIValidation: 1
+ metalCompileShaderBinary: 0
+ iOSRenderExtraFrameOnPause: 0
+ iosCopyPluginsCodeInsteadOfSymlink: 0
+ appleDeveloperTeamID:
+ iOSManualSigningProvisioningProfileID:
+ tvOSManualSigningProvisioningProfileID:
+ VisionOSManualSigningProvisioningProfileID:
+ iOSManualSigningProvisioningProfileType: 0
+ tvOSManualSigningProvisioningProfileType: 0
+ VisionOSManualSigningProvisioningProfileType: 0
+ appleEnableAutomaticSigning: 0
+ iOSRequireARKit: 0
+ iOSAutomaticallyDetectAndAddCapabilities: 1
+ appleEnableProMotion: 0
+ shaderPrecisionModel: 0
+ clonedFromGUID: 00000000000000000000000000000000
+ templatePackageId:
+ templateDefaultScene:
+ useCustomMainManifest: 0
+ useCustomLauncherManifest: 0
+ useCustomMainGradleTemplate: 0
+ useCustomLauncherGradleManifest: 0
+ useCustomBaseGradleTemplate: 0
+ useCustomGradlePropertiesTemplate: 0
+ useCustomGradleSettingsTemplate: 0
+ useCustomProguardFile: 0
+ AndroidTargetArchitectures: 2
+ AndroidSplashScreenScale: 0
+ androidSplashScreen: {fileID: 0}
+ AndroidKeystoreName:
+ AndroidKeyaliasName:
+ AndroidEnableArmv9SecurityFeatures: 0
+ AndroidEnableArm64MTE: 0
+ AndroidBuildApkPerCpuArchitecture: 0
+ AndroidTVCompatibility: 0
+ AndroidIsGame: 1
+ AndroidEnableTango: 0
+ androidEnableBanner: 1
+ androidUseLowAccuracyLocation: 0
+ androidUseCustomKeystore: 0
+ m_AndroidBanners:
+ - width: 320
+ height: 180
+ banner: {fileID: 0}
+ androidGamepadSupportLevel: 0
+ AndroidMinifyRelease: 0
+ AndroidMinifyDebug: 0
+ AndroidValidateAppBundleSize: 1
+ AndroidAppBundleSizeToValidate: 200
+ AndroidReportGooglePlayAppDependencies: 1
+ androidSymbolsSizeThreshold: 800
+ m_BuildTargetIcons: []
+ m_BuildTargetPlatformIcons:
+ - m_BuildTarget: Android
+ m_Icons:
+ - m_Textures: []
+ m_Width: 432
+ m_Height: 432
+ m_Kind: 2
+ m_SubKind:
+ - m_Textures: []
+ m_Width: 324
+ m_Height: 324
+ m_Kind: 2
+ m_SubKind:
+ - m_Textures: []
+ m_Width: 216
+ m_Height: 216
+ m_Kind: 2
+ m_SubKind:
+ - m_Textures: []
+ m_Width: 162
+ m_Height: 162
+ m_Kind: 2
+ m_SubKind:
+ - m_Textures: []
+ m_Width: 108
+ m_Height: 108
+ m_Kind: 2
+ m_SubKind:
+ - m_Textures: []
+ m_Width: 81
+ m_Height: 81
+ m_Kind: 2
+ m_SubKind:
+ - m_Textures: []
+ m_Width: 192
+ m_Height: 192
+ m_Kind: 1
+ m_SubKind:
+ - m_Textures: []
+ m_Width: 144
+ m_Height: 144
+ m_Kind: 1
+ m_SubKind:
+ - m_Textures: []
+ m_Width: 96
+ m_Height: 96
+ m_Kind: 1
+ m_SubKind:
+ - m_Textures: []
+ m_Width: 72
+ m_Height: 72
+ m_Kind: 1
+ m_SubKind:
+ - m_Textures: []
+ m_Width: 48
+ m_Height: 48
+ m_Kind: 1
+ m_SubKind:
+ - m_Textures: []
+ m_Width: 36
+ m_Height: 36
+ m_Kind: 1
+ m_SubKind:
+ - m_Textures: []
+ m_Width: 192
+ m_Height: 192
+ m_Kind: 0
+ m_SubKind:
+ - m_Textures: []
+ m_Width: 144
+ m_Height: 144
+ m_Kind: 0
+ m_SubKind:
+ - m_Textures: []
+ m_Width: 96
+ m_Height: 96
+ m_Kind: 0
+ m_SubKind:
+ - m_Textures: []
+ m_Width: 72
+ m_Height: 72
+ m_Kind: 0
+ m_SubKind:
+ - m_Textures: []
+ m_Width: 48
+ m_Height: 48
+ m_Kind: 0
+ m_SubKind:
+ - m_Textures: []
+ m_Width: 36
+ m_Height: 36
+ m_Kind: 0
+ m_SubKind:
+ m_BuildTargetBatching: []
+ m_BuildTargetShaderSettings: []
+ m_BuildTargetGraphicsJobs: []
+ m_BuildTargetGraphicsJobMode: []
+ m_BuildTargetGraphicsAPIs: []
+ m_BuildTargetVRSettings: []
+ m_DefaultShaderChunkSizeInMB: 16
+ m_DefaultShaderChunkCount: 0
+ openGLRequireES31: 0
+ openGLRequireES31AEP: 0
+ openGLRequireES32: 0
+ m_TemplateCustomTags: {}
+ mobileMTRendering:
+ Android: 1
+ VisionOS: 1
+ iPhone: 1
+ tvOS: 1
+ m_BuildTargetGroupLightmapEncodingQuality: []
+ m_BuildTargetGroupLightmapSettings: []
+ m_BuildTargetGroupLoadStoreDebugModeSettings: []
+ m_BuildTargetNormalMapEncoding: []
+ m_BuildTargetDefaultTextureCompressionFormat: []
+ playModeTestRunnerEnabled: 0
+ runPlayModeTestAsEditModeTest: 0
+ actionOnDotNetUnhandledException: 1
+ editorGfxJobOverride: 1
+ enableInternalProfiler: 0
+ logObjCUncaughtExceptions: 1
+ enableCrashReportAPI: 0
+ cameraUsageDescription:
+ locationUsageDescription:
+ microphoneUsageDescription:
+ bluetoothUsageDescription:
+ macOSTargetOSVersion: 11.0
+ switchNMETAOverride:
+ switchNetLibKey:
+ switchSocketMemoryPoolSize: 6144
+ switchSocketAllocatorPoolSize: 128
+ switchSocketConcurrencyLimit: 14
+ switchScreenResolutionBehavior: 2
+ switchUseCPUProfiler: 0
+ switchEnableFileSystemTrace: 0
+ switchLTOSetting: 0
+ switchApplicationID: 0x01004b9000490000
+ switchNSODependencies:
+ switchCompilerFlags:
+ switchTitleNames_0:
+ switchTitleNames_1:
+ switchTitleNames_2:
+ switchTitleNames_3:
+ switchTitleNames_4:
+ switchTitleNames_5:
+ switchTitleNames_6:
+ switchTitleNames_7:
+ switchTitleNames_8:
+ switchTitleNames_9:
+ switchTitleNames_10:
+ switchTitleNames_11:
+ switchTitleNames_12:
+ switchTitleNames_13:
+ switchTitleNames_14:
+ switchTitleNames_15:
+ switchPublisherNames_0:
+ switchPublisherNames_1:
+ switchPublisherNames_2:
+ switchPublisherNames_3:
+ switchPublisherNames_4:
+ switchPublisherNames_5:
+ switchPublisherNames_6:
+ switchPublisherNames_7:
+ switchPublisherNames_8:
+ switchPublisherNames_9:
+ switchPublisherNames_10:
+ switchPublisherNames_11:
+ switchPublisherNames_12:
+ switchPublisherNames_13:
+ switchPublisherNames_14:
+ switchPublisherNames_15:
+ switchIcons_0: {fileID: 0}
+ switchIcons_1: {fileID: 0}
+ switchIcons_2: {fileID: 0}
+ switchIcons_3: {fileID: 0}
+ switchIcons_4: {fileID: 0}
+ switchIcons_5: {fileID: 0}
+ switchIcons_6: {fileID: 0}
+ switchIcons_7: {fileID: 0}
+ switchIcons_8: {fileID: 0}
+ switchIcons_9: {fileID: 0}
+ switchIcons_10: {fileID: 0}
+ switchIcons_11: {fileID: 0}
+ switchIcons_12: {fileID: 0}
+ switchIcons_13: {fileID: 0}
+ switchIcons_14: {fileID: 0}
+ switchIcons_15: {fileID: 0}
+ switchSmallIcons_0: {fileID: 0}
+ switchSmallIcons_1: {fileID: 0}
+ switchSmallIcons_2: {fileID: 0}
+ switchSmallIcons_3: {fileID: 0}
+ switchSmallIcons_4: {fileID: 0}
+ switchSmallIcons_5: {fileID: 0}
+ switchSmallIcons_6: {fileID: 0}
+ switchSmallIcons_7: {fileID: 0}
+ switchSmallIcons_8: {fileID: 0}
+ switchSmallIcons_9: {fileID: 0}
+ switchSmallIcons_10: {fileID: 0}
+ switchSmallIcons_11: {fileID: 0}
+ switchSmallIcons_12: {fileID: 0}
+ switchSmallIcons_13: {fileID: 0}
+ switchSmallIcons_14: {fileID: 0}
+ switchSmallIcons_15: {fileID: 0}
+ switchManualHTML:
+ switchAccessibleURLs:
+ switchLegalInformation:
+ switchMainThreadStackSize: 1048576
+ switchPresenceGroupId:
+ switchLogoHandling: 0
+ switchReleaseVersion: 0
+ switchDisplayVersion: 1.0.0
+ switchStartupUserAccount: 0
+ switchSupportedLanguagesMask: 0
+ switchLogoType: 0
+ switchApplicationErrorCodeCategory:
+ switchUserAccountSaveDataSize: 0
+ switchUserAccountSaveDataJournalSize: 0
+ switchApplicationAttribute: 0
+ switchCardSpecSize: -1
+ switchCardSpecClock: -1
+ switchRatingsMask: 0
+ switchRatingsInt_0: 0
+ switchRatingsInt_1: 0
+ switchRatingsInt_2: 0
+ switchRatingsInt_3: 0
+ switchRatingsInt_4: 0
+ switchRatingsInt_5: 0
+ switchRatingsInt_6: 0
+ switchRatingsInt_7: 0
+ switchRatingsInt_8: 0
+ switchRatingsInt_9: 0
+ switchRatingsInt_10: 0
+ switchRatingsInt_11: 0
+ switchRatingsInt_12: 0
+ switchLocalCommunicationIds_0:
+ switchLocalCommunicationIds_1:
+ switchLocalCommunicationIds_2:
+ switchLocalCommunicationIds_3:
+ switchLocalCommunicationIds_4:
+ switchLocalCommunicationIds_5:
+ switchLocalCommunicationIds_6:
+ switchLocalCommunicationIds_7:
+ switchParentalControl: 0
+ switchAllowsScreenshot: 1
+ switchAllowsVideoCapturing: 1
+ switchAllowsRuntimeAddOnContentInstall: 0
+ switchDataLossConfirmation: 0
+ switchUserAccountLockEnabled: 0
+ switchSystemResourceMemory: 16777216
+ switchSupportedNpadStyles: 22
+ switchNativeFsCacheSize: 32
+ switchIsHoldTypeHorizontal: 1
+ switchSupportedNpadCount: 8
+ switchEnableTouchScreen: 1
+ switchSocketConfigEnabled: 0
+ switchTcpInitialSendBufferSize: 32
+ switchTcpInitialReceiveBufferSize: 64
+ switchTcpAutoSendBufferSizeMax: 256
+ switchTcpAutoReceiveBufferSizeMax: 256
+ switchUdpSendBufferSize: 9
+ switchUdpReceiveBufferSize: 42
+ switchSocketBufferEfficiency: 4
+ switchSocketInitializeEnabled: 1
+ switchNetworkInterfaceManagerInitializeEnabled: 1
+ switchDisableHTCSPlayerConnection: 0
+ switchUseNewStyleFilepaths: 1
+ switchUseLegacyFmodPriorities: 0
+ switchUseMicroSleepForYield: 1
+ switchEnableRamDiskSupport: 0
+ switchMicroSleepForYieldTime: 25
+ switchRamDiskSpaceSize: 12
+ switchUpgradedPlayerSettingsToNMETA: 0
+ ps4NPAgeRating: 12
+ ps4NPTitleSecret:
+ ps4NPTrophyPackPath:
+ ps4ParentalLevel: 11
+ ps4ContentID: ED1633-NPXX51362_00-0000000000000000
+ ps4Category: 0
+ ps4MasterVersion: 01.00
+ ps4AppVersion: 01.00
+ ps4AppType: 0
+ ps4ParamSfxPath:
+ ps4VideoOutPixelFormat: 0
+ ps4VideoOutInitialWidth: 1920
+ ps4VideoOutBaseModeInitialWidth: 1920
+ ps4VideoOutReprojectionRate: 60
+ ps4PronunciationXMLPath:
+ ps4PronunciationSIGPath:
+ ps4BackgroundImagePath:
+ ps4StartupImagePath:
+ ps4StartupImagesFolder:
+ ps4IconImagesFolder:
+ ps4SaveDataImagePath:
+ ps4SdkOverride:
+ ps4BGMPath:
+ ps4ShareFilePath:
+ ps4ShareOverlayImagePath:
+ ps4PrivacyGuardImagePath:
+ ps4ExtraSceSysFile:
+ ps4NPtitleDatPath:
+ ps4RemotePlayKeyAssignment: -1
+ ps4RemotePlayKeyMappingDir:
+ ps4PlayTogetherPlayerCount: 0
+ ps4EnterButtonAssignment: 2
+ ps4ApplicationParam1: 0
+ ps4ApplicationParam2: 0
+ ps4ApplicationParam3: 0
+ ps4ApplicationParam4: 0
+ ps4DownloadDataSize: 0
+ ps4GarlicHeapSize: 2048
+ ps4ProGarlicHeapSize: 2560
+ playerPrefsMaxSize: 32768
+ ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
+ ps4pnSessions: 1
+ ps4pnPresence: 1
+ ps4pnFriends: 1
+ ps4pnGameCustomData: 1
+ playerPrefsSupport: 0
+ enableApplicationExit: 0
+ resetTempFolder: 1
+ restrictedAudioUsageRights: 0
+ ps4UseResolutionFallback: 0
+ ps4ReprojectionSupport: 0
+ ps4UseAudio3dBackend: 0
+ ps4UseLowGarlicFragmentationMode: 1
+ ps4SocialScreenEnabled: 0
+ ps4ScriptOptimizationLevel: 2
+ ps4Audio3dVirtualSpeakerCount: 14
+ ps4attribCpuUsage: 0
+ ps4PatchPkgPath:
+ ps4PatchLatestPkgPath:
+ ps4PatchChangeinfoPath:
+ ps4PatchDayOne: 0
+ ps4attribUserManagement: 0
+ ps4attribMoveSupport: 0
+ ps4attrib3DSupport: 0
+ ps4attribShareSupport: 0
+ ps4attribExclusiveVR: 0
+ ps4disableAutoHideSplash: 0
+ ps4videoRecordingFeaturesUsed: 0
+ ps4contentSearchFeaturesUsed: 0
+ ps4CompatibilityPS5: 0
+ ps4AllowPS5Detection: 0
+ ps4GPU800MHz: 1
+ ps4attribEyeToEyeDistanceSettingVR: 0
+ ps4IncludedModules: []
+ ps4attribVROutputEnabled: 0
+ monoEnv:
+ splashScreenBackgroundSourceLandscape: {fileID: 0}
+ splashScreenBackgroundSourcePortrait: {fileID: 0}
+ blurSplashScreenBackground: 1
+ spritePackerPolicy:
+ webGLMemorySize: 32
+ webGLExceptionSupport: 1
+ webGLNameFilesAsHashes: 0
+ webGLShowDiagnostics: 0
+ webGLDataCaching: 1
+ webGLDebugSymbols: 0
+ webGLEmscriptenArgs:
+ webGLModulesDirectory:
+ webGLTemplate: APPLICATION:Default
+ webGLAnalyzeBuildSize: 0
+ webGLUseEmbeddedResources: 0
+ webGLCompressionFormat: 1
+ webGLWasmArithmeticExceptions: 0
+ webGLLinkerTarget: 1
+ webGLThreadsSupport: 0
+ webGLDecompressionFallback: 0
+ webGLInitialMemorySize: 32
+ webGLMaximumMemorySize: 2048
+ webGLMemoryGrowthMode: 2
+ webGLMemoryLinearGrowthStep: 16
+ webGLMemoryGeometricGrowthStep: 0.2
+ webGLMemoryGeometricGrowthCap: 96
+ webGLEnableWebGPU: 0
+ webGLPowerPreference: 2
+ webGLWebAssemblyTable: 0
+ webGLWebAssemblyBigInt: 0
+ webGLCloseOnQuit: 0
+ webWasm2023: 0
+ scriptingDefineSymbols: {}
+ additionalCompilerArguments: {}
+ platformArchitecture: {}
+ scriptingBackend: {}
+ il2cppCompilerConfiguration: {}
+ il2cppCodeGeneration: {}
+ il2cppStacktraceInformation: {}
+ managedStrippingLevel: {}
+ incrementalIl2cppBuild: {}
+ suppressCommonWarnings: 1
+ allowUnsafeCode: 0
+ useDeterministicCompilation: 1
+ additionalIl2CppArgs:
+ scriptingRuntimeVersion: 1
+ gcIncremental: 1
+ gcWBarrierValidation: 0
+ apiCompatibilityLevelPerPlatform: {}
+ editorAssembliesCompatibilityLevel: 1
+ m_RenderingPath: 1
+ m_MobileRenderingPath: 1
+ metroPackageName: CharacterControllerMovingBodies
+ metroPackageVersion: 1.0.0.0
+ metroCertificatePath:
+ metroCertificatePassword:
+ metroCertificateSubject:
+ metroCertificateIssuer:
+ metroCertificateNotAfter: 0000000000000000
+ metroApplicationDescription: CharacterControllerMovingBodies
+ wsaImages: {}
+ metroTileShortName: CharacterControllerMovingBodies
+ metroTileShowName: 0
+ metroMediumTileShowName: 0
+ metroLargeTileShowName: 0
+ metroWideTileShowName: 0
+ metroSupportStreamingInstall: 0
+ metroLastRequiredScene: 0
+ metroDefaultTileSize: 1
+ metroTileForegroundText: 2
+ metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
+ metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1}
+ metroSplashScreenUseBackgroundColor: 0
+ syncCapabilities: 0
+ platformCapabilities: {}
+ metroTargetDeviceFamilies: {}
+ metroFTAName:
+ metroFTAFileTypes: []
+ metroProtocolName:
+ vcxProjDefaultLanguage:
+ XboxOneProductId:
+ XboxOneUpdateKey:
+ XboxOneSandboxId:
+ XboxOneContentId:
+ XboxOneTitleId:
+ XboxOneSCId:
+ XboxOneGameOsOverridePath:
+ XboxOnePackagingOverridePath:
+ XboxOneAppManifestOverridePath:
+ XboxOneVersion: 1.0.0.0
+ XboxOnePackageEncryption: 0
+ XboxOnePackageUpdateGranularity: 2
+ XboxOneDescription:
+ XboxOneLanguage:
+ - enus
+ XboxOneCapability: []
+ XboxOneGameRating: {}
+ XboxOneIsContentPackage: 0
+ XboxOneEnhancedXboxCompatibilityMode: 0
+ XboxOneEnableGPUVariability: 1
+ XboxOneSockets: {}
+ XboxOneSplashScreen: {fileID: 0}
+ XboxOneAllowedProductIds: []
+ XboxOnePersistentLocalStorageSize: 0
+ XboxOneXTitleMemory: 8
+ XboxOneOverrideIdentityName:
+ XboxOneOverrideIdentityPublisher:
+ vrEditorSettings: {}
+ cloudServicesEnabled:
+ Purchasing: 0
+ Unity Ads: 0
+ luminIcon:
+ m_Name:
+ m_ModelFolderPath:
+ m_PortalFolderPath:
+ luminCert:
+ m_CertPath:
+ m_SignPackage: 1
+ luminIsChannelApp: 0
+ luminVersion:
+ m_VersionCode: 1
+ m_VersionName:
+ hmiPlayerDataPath:
+ hmiForceSRGBBlit: 0
+ embeddedLinuxEnableGamepadInput: 0
+ hmiCpuConfiguration:
+ hmiLogStartupTiming: 0
+ qnxGraphicConfPath:
+ apiCompatibilityLevel: 6
+ captureStartupLogs: {}
+ activeInputHandler: 0
+ windowsGamepadBackendHint: 0
+ cloudProjectId:
+ framebufferDepthMemorylessMode: 0
+ qualitySettingsNames: []
+ projectName:
+ organizationId:
+ cloudEnabled: 0
+ legacyClampBlendShapeWeights: 0
+ hmiLoadingImage: {fileID: 0}
+ platformRequiresReadableAssets: 0
+ virtualTexturingSupportEnabled: 0
+ insecureHttpOption: 0
+ androidVulkanDenyFilterList: []
+ androidVulkanAllowFilterList: []
diff --git a/Examples/OverridingScenesAndPrefabs/ProjectSettings/QualitySettings.asset b/Examples/OverridingScenesAndPrefabs/ProjectSettings/QualitySettings.asset
new file mode 100644
index 0000000000..8e158d62c6
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/ProjectSettings/QualitySettings.asset
@@ -0,0 +1,340 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!47 &1
+QualitySettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 5
+ m_CurrentQuality: 5
+ m_QualitySettings:
+ - serializedVersion: 4
+ name: Very Low
+ pixelLightCount: 0
+ shadows: 0
+ shadowResolution: 0
+ shadowProjection: 1
+ shadowCascades: 1
+ shadowDistance: 15
+ shadowNearPlaneOffset: 3
+ shadowCascade2Split: 0.33333334
+ shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
+ shadowmaskMode: 0
+ skinWeights: 1
+ globalTextureMipmapLimit: 1
+ textureMipmapLimitSettings: []
+ anisotropicTextures: 0
+ antiAliasing: 0
+ softParticles: 0
+ softVegetation: 0
+ realtimeReflectionProbes: 0
+ billboardsFaceCameraPosition: 0
+ useLegacyDetailDistribution: 0
+ adaptiveVsync: 0
+ vSyncCount: 0
+ realtimeGICPUUsage: 25
+ adaptiveVsyncExtraA: 0
+ adaptiveVsyncExtraB: 0
+ lodBias: 0.3
+ maximumLODLevel: 0
+ enableLODCrossFade: 1
+ streamingMipmapsActive: 0
+ streamingMipmapsAddAllCameras: 1
+ streamingMipmapsMemoryBudget: 512
+ streamingMipmapsRenderersPerFrame: 512
+ streamingMipmapsMaxLevelReduction: 2
+ streamingMipmapsMaxFileIORequests: 1024
+ particleRaycastBudget: 4
+ asyncUploadTimeSlice: 2
+ asyncUploadBufferSize: 16
+ asyncUploadPersistentBuffer: 1
+ resolutionScalingFixedDPIFactor: 1
+ customRenderPipeline: {fileID: 0}
+ terrainQualityOverrides: 0
+ terrainPixelError: 1
+ terrainDetailDensityScale: 1
+ terrainBasemapDistance: 1000
+ terrainDetailDistance: 80
+ terrainTreeDistance: 5000
+ terrainBillboardStart: 50
+ terrainFadeLength: 5
+ terrainMaxTrees: 50
+ excludedTargetPlatforms: []
+ - serializedVersion: 4
+ name: Low
+ pixelLightCount: 0
+ shadows: 0
+ shadowResolution: 0
+ shadowProjection: 1
+ shadowCascades: 1
+ shadowDistance: 20
+ shadowNearPlaneOffset: 3
+ shadowCascade2Split: 0.33333334
+ shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
+ shadowmaskMode: 0
+ skinWeights: 2
+ globalTextureMipmapLimit: 0
+ textureMipmapLimitSettings: []
+ anisotropicTextures: 0
+ antiAliasing: 0
+ softParticles: 0
+ softVegetation: 0
+ realtimeReflectionProbes: 0
+ billboardsFaceCameraPosition: 0
+ useLegacyDetailDistribution: 0
+ adaptiveVsync: 0
+ vSyncCount: 0
+ realtimeGICPUUsage: 25
+ adaptiveVsyncExtraA: 0
+ adaptiveVsyncExtraB: 0
+ lodBias: 0.4
+ maximumLODLevel: 0
+ enableLODCrossFade: 1
+ streamingMipmapsActive: 0
+ streamingMipmapsAddAllCameras: 1
+ streamingMipmapsMemoryBudget: 512
+ streamingMipmapsRenderersPerFrame: 512
+ streamingMipmapsMaxLevelReduction: 2
+ streamingMipmapsMaxFileIORequests: 1024
+ particleRaycastBudget: 16
+ asyncUploadTimeSlice: 2
+ asyncUploadBufferSize: 16
+ asyncUploadPersistentBuffer: 1
+ resolutionScalingFixedDPIFactor: 1
+ customRenderPipeline: {fileID: 0}
+ terrainQualityOverrides: 0
+ terrainPixelError: 1
+ terrainDetailDensityScale: 1
+ terrainBasemapDistance: 1000
+ terrainDetailDistance: 80
+ terrainTreeDistance: 5000
+ terrainBillboardStart: 50
+ terrainFadeLength: 5
+ terrainMaxTrees: 50
+ excludedTargetPlatforms: []
+ - serializedVersion: 4
+ name: Medium
+ pixelLightCount: 1
+ shadows: 1
+ shadowResolution: 0
+ shadowProjection: 1
+ shadowCascades: 1
+ shadowDistance: 20
+ shadowNearPlaneOffset: 3
+ shadowCascade2Split: 0.33333334
+ shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
+ shadowmaskMode: 0
+ skinWeights: 2
+ globalTextureMipmapLimit: 0
+ textureMipmapLimitSettings: []
+ anisotropicTextures: 1
+ antiAliasing: 0
+ softParticles: 0
+ softVegetation: 0
+ realtimeReflectionProbes: 0
+ billboardsFaceCameraPosition: 0
+ useLegacyDetailDistribution: 0
+ adaptiveVsync: 0
+ vSyncCount: 1
+ realtimeGICPUUsage: 25
+ adaptiveVsyncExtraA: 0
+ adaptiveVsyncExtraB: 0
+ lodBias: 0.7
+ maximumLODLevel: 0
+ enableLODCrossFade: 1
+ streamingMipmapsActive: 0
+ streamingMipmapsAddAllCameras: 1
+ streamingMipmapsMemoryBudget: 512
+ streamingMipmapsRenderersPerFrame: 512
+ streamingMipmapsMaxLevelReduction: 2
+ streamingMipmapsMaxFileIORequests: 1024
+ particleRaycastBudget: 64
+ asyncUploadTimeSlice: 2
+ asyncUploadBufferSize: 16
+ asyncUploadPersistentBuffer: 1
+ resolutionScalingFixedDPIFactor: 1
+ customRenderPipeline: {fileID: 0}
+ terrainQualityOverrides: 0
+ terrainPixelError: 1
+ terrainDetailDensityScale: 1
+ terrainBasemapDistance: 1000
+ terrainDetailDistance: 80
+ terrainTreeDistance: 5000
+ terrainBillboardStart: 50
+ terrainFadeLength: 5
+ terrainMaxTrees: 50
+ excludedTargetPlatforms: []
+ - serializedVersion: 4
+ name: High
+ pixelLightCount: 2
+ shadows: 2
+ shadowResolution: 1
+ shadowProjection: 1
+ shadowCascades: 2
+ shadowDistance: 40
+ shadowNearPlaneOffset: 3
+ shadowCascade2Split: 0.33333334
+ shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
+ shadowmaskMode: 1
+ skinWeights: 2
+ globalTextureMipmapLimit: 0
+ textureMipmapLimitSettings: []
+ anisotropicTextures: 1
+ antiAliasing: 0
+ softParticles: 0
+ softVegetation: 1
+ realtimeReflectionProbes: 1
+ billboardsFaceCameraPosition: 1
+ useLegacyDetailDistribution: 0
+ adaptiveVsync: 0
+ vSyncCount: 1
+ realtimeGICPUUsage: 50
+ adaptiveVsyncExtraA: 0
+ adaptiveVsyncExtraB: 0
+ lodBias: 1
+ maximumLODLevel: 0
+ enableLODCrossFade: 1
+ streamingMipmapsActive: 0
+ streamingMipmapsAddAllCameras: 1
+ streamingMipmapsMemoryBudget: 512
+ streamingMipmapsRenderersPerFrame: 512
+ streamingMipmapsMaxLevelReduction: 2
+ streamingMipmapsMaxFileIORequests: 1024
+ particleRaycastBudget: 256
+ asyncUploadTimeSlice: 2
+ asyncUploadBufferSize: 16
+ asyncUploadPersistentBuffer: 1
+ resolutionScalingFixedDPIFactor: 1
+ customRenderPipeline: {fileID: 0}
+ terrainQualityOverrides: 0
+ terrainPixelError: 1
+ terrainDetailDensityScale: 1
+ terrainBasemapDistance: 1000
+ terrainDetailDistance: 80
+ terrainTreeDistance: 5000
+ terrainBillboardStart: 50
+ terrainFadeLength: 5
+ terrainMaxTrees: 50
+ excludedTargetPlatforms: []
+ - serializedVersion: 4
+ name: Very High
+ pixelLightCount: 3
+ shadows: 2
+ shadowResolution: 2
+ shadowProjection: 1
+ shadowCascades: 2
+ shadowDistance: 70
+ shadowNearPlaneOffset: 3
+ shadowCascade2Split: 0.33333334
+ shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
+ shadowmaskMode: 1
+ skinWeights: 4
+ globalTextureMipmapLimit: 0
+ textureMipmapLimitSettings: []
+ anisotropicTextures: 2
+ antiAliasing: 2
+ softParticles: 1
+ softVegetation: 1
+ realtimeReflectionProbes: 1
+ billboardsFaceCameraPosition: 1
+ useLegacyDetailDistribution: 0
+ adaptiveVsync: 0
+ vSyncCount: 1
+ realtimeGICPUUsage: 50
+ adaptiveVsyncExtraA: 0
+ adaptiveVsyncExtraB: 0
+ lodBias: 1.5
+ maximumLODLevel: 0
+ enableLODCrossFade: 1
+ streamingMipmapsActive: 0
+ streamingMipmapsAddAllCameras: 1
+ streamingMipmapsMemoryBudget: 512
+ streamingMipmapsRenderersPerFrame: 512
+ streamingMipmapsMaxLevelReduction: 2
+ streamingMipmapsMaxFileIORequests: 1024
+ particleRaycastBudget: 1024
+ asyncUploadTimeSlice: 2
+ asyncUploadBufferSize: 16
+ asyncUploadPersistentBuffer: 1
+ resolutionScalingFixedDPIFactor: 1
+ customRenderPipeline: {fileID: 0}
+ terrainQualityOverrides: 0
+ terrainPixelError: 1
+ terrainDetailDensityScale: 1
+ terrainBasemapDistance: 1000
+ terrainDetailDistance: 80
+ terrainTreeDistance: 5000
+ terrainBillboardStart: 50
+ terrainFadeLength: 5
+ terrainMaxTrees: 50
+ excludedTargetPlatforms: []
+ - serializedVersion: 4
+ name: Ultra
+ pixelLightCount: 4
+ shadows: 2
+ shadowResolution: 2
+ shadowProjection: 1
+ shadowCascades: 4
+ shadowDistance: 150
+ shadowNearPlaneOffset: 3
+ shadowCascade2Split: 0.33333334
+ shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
+ shadowmaskMode: 1
+ skinWeights: 255
+ globalTextureMipmapLimit: 0
+ textureMipmapLimitSettings: []
+ anisotropicTextures: 2
+ antiAliasing: 2
+ softParticles: 1
+ softVegetation: 1
+ realtimeReflectionProbes: 1
+ billboardsFaceCameraPosition: 1
+ useLegacyDetailDistribution: 0
+ adaptiveVsync: 0
+ vSyncCount: 1
+ realtimeGICPUUsage: 100
+ adaptiveVsyncExtraA: 0
+ adaptiveVsyncExtraB: 0
+ lodBias: 2
+ maximumLODLevel: 0
+ enableLODCrossFade: 1
+ streamingMipmapsActive: 0
+ streamingMipmapsAddAllCameras: 1
+ streamingMipmapsMemoryBudget: 512
+ streamingMipmapsRenderersPerFrame: 512
+ streamingMipmapsMaxLevelReduction: 2
+ streamingMipmapsMaxFileIORequests: 1024
+ particleRaycastBudget: 4096
+ asyncUploadTimeSlice: 2
+ asyncUploadBufferSize: 16
+ asyncUploadPersistentBuffer: 1
+ resolutionScalingFixedDPIFactor: 1
+ customRenderPipeline: {fileID: 0}
+ terrainQualityOverrides: 0
+ terrainPixelError: 1
+ terrainDetailDensityScale: 1
+ terrainBasemapDistance: 1000
+ terrainDetailDistance: 80
+ terrainTreeDistance: 5000
+ terrainBillboardStart: 50
+ terrainFadeLength: 5
+ terrainMaxTrees: 50
+ excludedTargetPlatforms: []
+ m_TextureMipmapLimitGroupNames: []
+ m_PerPlatformDefaultQuality:
+ Android: 2
+ EmbeddedLinux: 5
+ GameCoreScarlett: 5
+ GameCoreXboxOne: 5
+ LinuxHeadlessSimulation: 5
+ Nintendo Switch: 5
+ PS4: 5
+ PS5: 5
+ QNX: 5
+ ReservedCFE: 5
+ Server: 5
+ Standalone: 5
+ VisionOS: 5
+ WebGL: 3
+ Windows Store Apps: 5
+ XboxOne: 5
+ iPhone: 2
+ tvOS: 2
diff --git a/Examples/OverridingScenesAndPrefabs/ProjectSettings/TagManager.asset b/Examples/OverridingScenesAndPrefabs/ProjectSettings/TagManager.asset
new file mode 100644
index 0000000000..eb5d9aedd6
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/ProjectSettings/TagManager.asset
@@ -0,0 +1,45 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!78 &1
+TagManager:
+ serializedVersion: 3
+ tags: []
+ layers:
+ - Default
+ - TransparentFX
+ - Ignore Raycast
+ -
+ - Water
+ - UI
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ m_SortingLayers:
+ - name: Default
+ uniqueID: 0
+ locked: 0
+ m_RenderingLayers:
+ - Default
diff --git a/Examples/OverridingScenesAndPrefabs/ProjectSettings/TimeManager.asset b/Examples/OverridingScenesAndPrefabs/ProjectSettings/TimeManager.asset
new file mode 100644
index 0000000000..8f68da289f
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/ProjectSettings/TimeManager.asset
@@ -0,0 +1,13 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!5 &1
+TimeManager:
+ m_ObjectHideFlags: 0
+ Fixed Timestep:
+ m_Count: 2822399
+ m_Rate:
+ m_Denominator: 1
+ m_Numerator: 141120000
+ Maximum Allowed Timestep: 0.33333334
+ m_TimeScale: 1
+ Maximum Particle Timestep: 0.03
diff --git a/Examples/OverridingScenesAndPrefabs/ProjectSettings/UnityConnectSettings.asset b/Examples/OverridingScenesAndPrefabs/ProjectSettings/UnityConnectSettings.asset
new file mode 100644
index 0000000000..2d81664be6
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/ProjectSettings/UnityConnectSettings.asset
@@ -0,0 +1,36 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!310 &1
+UnityConnectSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 1
+ m_Enabled: 1
+ m_TestMode: 0
+ m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
+ m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
+ m_ConfigUrl: https://config.uca.cloud.unity3d.com
+ m_DashboardUrl: https://dashboard.unity3d.com
+ m_TestInitMode: 0
+ CrashReportingSettings:
+ m_EventUrl: https://perf-events.cloud.unity3d.com
+ m_Enabled: 0
+ m_LogBufferSize: 10
+ m_CaptureEditorExceptions: 1
+ UnityPurchasingSettings:
+ m_Enabled: 0
+ m_TestMode: 0
+ UnityAnalyticsSettings:
+ m_Enabled: 0
+ m_TestMode: 0
+ m_InitializeOnStartup: 1
+ m_PackageRequiringCoreStatsPresent: 1
+ UnityAdsSettings:
+ m_Enabled: 0
+ m_InitializeOnStartup: 1
+ m_TestMode: 0
+ m_IosGameId:
+ m_AndroidGameId:
+ m_GameIds: {}
+ m_GameId:
+ PerformanceReportingSettings:
+ m_Enabled: 0
diff --git a/Examples/OverridingScenesAndPrefabs/ProjectSettings/VFXManager.asset b/Examples/OverridingScenesAndPrefabs/ProjectSettings/VFXManager.asset
new file mode 100644
index 0000000000..a2a4a97a2f
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/ProjectSettings/VFXManager.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!937362698 &1
+VFXManager:
+ m_ObjectHideFlags: 0
+ m_IndirectShader: {fileID: 0}
+ m_CopyBufferShader: {fileID: 0}
+ m_SortShader: {fileID: 0}
+ m_StripUpdateShader: {fileID: 0}
+ m_EmptyShader: {fileID: 0}
+ m_RenderPipeSettingsPath:
+ m_FixedTimeStep: 0.016666668
+ m_MaxDeltaTime: 0.05
+ m_MaxScrubTime: 30
+ m_MaxCapacity: 100000000
+ m_CompiledVersion: 0
+ m_RuntimeVersion: 0
+ m_RuntimeResources: {fileID: 0}
+ m_BatchEmptyLifetime: 300
diff --git a/Examples/OverridingScenesAndPrefabs/ProjectSettings/VersionControlSettings.asset b/Examples/OverridingScenesAndPrefabs/ProjectSettings/VersionControlSettings.asset
new file mode 100644
index 0000000000..979fd8eca8
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/ProjectSettings/VersionControlSettings.asset
@@ -0,0 +1,7 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!890905787 &1
+VersionControlSettings:
+ m_ObjectHideFlags: 0
+ m_Mode: Visible Meta Files
+ m_TrackPackagesOutsideProject: 0
diff --git a/Examples/OverridingScenesAndPrefabs/Readme.md b/Examples/OverridingScenesAndPrefabs/Readme.md
new file mode 100644
index 0000000000..478c38d5a8
--- /dev/null
+++ b/Examples/OverridingScenesAndPrefabs/Readme.md
@@ -0,0 +1,112 @@
+# Netcode for GameObjects
Overriding Scenes and NetworkPrefabs
+
+_Supports using the client-server and distributed authority network topologies._
+
+
+This example, based on the [Netcode for GameObjects Smooth Transform Space Transitions](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/tree/example/server-client-unique-scenes-and-prefabs/Examples/CharacterControllerMovingBodies), provides and overview of how to use:
+- [`NetworkPrefabHandler`](https://docs.unity3d.com/Packages/com.unity.netcode.gameobjects@2.0/api/Unity.Netcode.NetworkPrefabHandler.html) as a way to dynamically control overriding network prefabs and how they are instantiated.
+ - For this example, the prefab handler is overriding the player prefab.
+ - *You will only see the end result of this portion of the example by running a server instance (i.e. not host) as that will create instances of the ServerPlayer network prefab instead of the ClientPlayer network prefab.*
+- [`NetworkSceneManager.SetClientSynchronizationMode`](https://docs.unity3d.com/Packages/com.unity.netcode.gameobjects@2.0/api/Unity.Netcode.NetworkSceneManager.html#Unity_Netcode_NetworkSceneManager_SetClientSynchronizationMode_UnityEngine_SceneManagement_LoadSceneMode_) to change the default client synchronization mode (SingleMode) to an additive client synchronization mode.
+ - Additive client synchronization mode will prevent already existing preloaded scenes from being unloaded and will use them, as opposed to reloading the same scene, during a client's initial synchronization.
+ - *This is a server-side only setting that gets sent to the clients during the initial synchronization process.*
+- [`NetworkSceneManager.VerifySceneBeforeLoading`](https://docs.unity3d.com/Packages/com.unity.netcode.gameobjects@2.0/api/Unity.Netcode.NetworkSceneManager.html#Unity_Netcode_NetworkSceneManager_VerifySceneBeforeLoading) in order to control what scenes the server will include when sending the synchronization message to newly connecting clients.
+
+## Building The Project
+This example uses unity services. Upon loading the project for the first time, you will want to set your organization and create a new cloud project. This is the only required setting to create stand alone builds for this project.
+
+
+## Terminology
+
+### Shared Scenes
+These are scenes that will be synchronized between a server or session owner and used when a client runs through the initial synchronization process.
+- You can populate these scenes with in-scene placed or dynamically spawned NetworkObjects.
+- These scenes **must be** within the scenes in build list.
+
+### Local Scenes
+These are scenes that are always only local to the application instances (server or client) and will not be synchronized.
+- You should not populate these scenes with NetworkObjects.
+ -However, this example includes one of several ways you can associate a `MonoBehaviour` with a `NetworkBehaviour`.
+- These scenes can be dynamically created, included in the scenes in build list, or be an addressable loaded at some point prior to connecting or while connected to a session.
+
+## Client Synchronization and Scene Validation
+By combining these two scene management features, you can preload scenes:
+- That should not be synchronized and/or are specific to the server or client side of a network session.
+- That you know will be synchronized in order to reduce the client synchronization process.
+
+This approach can be useful if you:
+- Want to have server-side only content that is loaded only on a server.
+- Want to load local scenes for UI purposes or content that you don't need to synchronize.
+ - *This example separates the colliders of the scene geometry from the mesh filters and renderers. Clients are the only instances that load the graphics related scene assets. Both clients and server load a shared scene that contains in-scene placed NetworkObjects and the colliders for the "floor"*
+
+[Read the documentation for more information about client synchronization mode.](https://docs-multiplayer.unity3d.com/netcode/current/basics/scenemanagement/client-synchronization-mode/)
+
+### Note on Distributed Authority
+Since a distributed authority network topology is designed to keep all clients synchronized enough with the SDK level states in order to allow for rapid session owner promotion, the most common design approach (relative to this example) is to have local client scenes and the scenes to be synchronized between clients. However, there could be edge case scenarios where perhaps you only want there to only ever be a single session owner and upon the session owner disconnecting all clients will disconnect themselves too. Under this type of design, it would be valid to have local "server-side" (i.e. session owner) scenes. This example implements this by default for example purposes only. If you want your project to use session owner promotion, then it is highly recommended to only use the have client-side local and shared scenes approach.
+
+## The Bootstrap Loading Process
+
+
+### BootstrapScene
+The first scene loaded. Contains a `NetworkManagerBootstrapper` in-scene placed `GameObject`.
+
+
+#### NetworkManager Bootstrapper (component)
+
+
+Handles the pre-network session menu interface along with connect and disconnect events. Since it is derived from `NetworkManager`, it also defines the network session configuration (i.e. `NetworkConfig`). The `NetworkManagerBootstrapper` in-scene placed `GameObject` gets loaded into the DDOL scene automatically and will persist throughout the application life time. This derived class requires the `SceneBootstrapLoader` component.
+
+#### Scene Bootstrap Loader (component)
+
+
+This component handles preloading scenes for both the client(s) and server. Upon being started, the `NetworkManagerBootstrapper` component will invoke `SceneBootstrapLoader.LoadMainMenu` method that kicks off the scene preloading process.
+- **Default Active Scene Asset:** There is always an active scene. For this example, the default active scene is the same on both the client and server relative properties. *The active scene is always (and should always) be a "shared scene".*
+ - This could represent a lobby or network session main menu (i.e. create or join session).
+ - Both the client and the server preload this scene prior to starting a network session.
+- **Local Scene Assets:** There could be times where you want to load scenes specific to the `NetworkManager` instance type (i.e. client, host, or server).
+ - These scenes are not synchronized by a server (client-server) or session owner (distributed authority).
+ - Having different locally loaded scenes is typically more common in a client-server network topology.
+ - In a distributed authority network topology, it is more common to keep all scenes synchronized but you might want to load non-synchronized scenes (i.e. menu interface for settings etc).
+- **Shared Scene Assets:** These scenes are synchronized by the server or session owner (depending upon network topology used).
+ - This example only provides a server specific set of scene assets to load because you can always add those same scenes to the client-side locally loaded scenes.
+ - If the server synchronizes any scenes from the share scene assets with a client that already has those scene loaded, then those locally loaded scenes on the client side will be used during synchronization.
+ - Depending upon how many scenes you want to synchronize and/or how large one or more scenes are, preloading scenes can reduce synchronization time for clients.
+The `NetworkManagerBootstrapper` uses the `SceneBootstrapLoader` component to start the creation or joining of a network session. The logical flow looks like:
+- `NetworkManagerBootstrapper` invokes `SceneBootstrapLoader.StartSession` when you click one of the (very simple) main menu buttons and passes in the mode/type of `NetworkManager` to start.
+- Based on the `NetworkManager` type being started, the `SceneBootstrapLoader` will then:
+ - Load the default active scene using the `UnityEngine.SceneManagement.SceneManager`.
+ - Load the local scenes using the `UnityEngine.SceneManagement.SceneManager`.
+ - Then it will create or join a network session by either starting the `NetworkManager` or connecting to the sesssion via multiplayer services.
+ - _Server or Session Owner only:_
+ - If any, load the shared (i.e. synchronized) scene assets using the `NetworkSceneManager`
+
+#### Network Prefab Override Handler (component)
+
+
+This `MonoBehaviour` component implements the `INetworkPrefabInstanceHandler` interface and registers with the `NetworkManafer.PrefabHandler` when started. It contains two network prefab properties:
+- Network Prefab: This is the network prefab that you want to override. In this example, it is what is used to spawn a server-side player prefab and is what is defined within the `NetworkManagerBootstrapper` component.
+- Network Prefab Override: This is what is used to spawn a player prefab on the client-side.
+
+At runtime the local `NetworkManager` instance is a client/host or server and will spawn either the ClientPlayer or ServerPlayer prefab. The `NetworkPrefabOverrideHandler` does not need to be a `NetworkBehaviour` and sometimes (especially for overriding the player prefab) it is better to handle prefab handlers prior to starting the `NetworkManager`.
+
+## Input Controls
+The following is a list of the input controls used in this project:
+### Clients Only
+- `W,A,S,D`: Movement (forward, backward, turn left, turn right)
+ - *Arrow keys can be used as well.*
+- `SPACE`: Jumps
+- `P`: Enable disable player name and information.
+- `C`: Toggles the player child object movement (continuous or only when the player moves).
+
+### Server Only
+- `[,]`: Right and left bracket keys will follow spawned players.
+- `Backspace`: Stop following a player.
+
+## Example Limitations
+This example is primarily to provide a starting point for anyone interested in exploring how to override (customize) the scene loading and/or prefab instantiation. It does not cover all possible use case scenarios. It is recommended to explore this example, modify it, and read the [Netcode for GameObjects documentation](https://docs-multiplayer.unity3d.com/netcode/current/about/) for more details.
+
+
+
+
+
+