Browse Source

Update to 2020

Marcel Zickler 3 years ago
parent
commit
7014be5588
100 changed files with 1358 additions and 201 deletions
  1. 13 0
      .idea/.idea.VR Cycling/.idea/indexLayout.xml
  2. 1 1
      Assembly-CSharp-Editor.csproj
  3. 1 1
      Assembly-CSharp.csproj
  4. 3 2
      Assets/ExampleAssets/Materials/ConstructionLight_Mat.mat
  5. 3 2
      Assets/ExampleAssets/Materials/DryWallPainted_Mat.mat
  6. 3 2
      Assets/ExampleAssets/Materials/DryWall_Mat.mat
  7. 3 2
      Assets/ExampleAssets/Materials/Ground_Mat.mat
  8. 3 2
      Assets/ExampleAssets/Materials/Hammer_Mat.mat
  9. 3 2
      Assets/ExampleAssets/Materials/HardHat_Mat.mat
  10. 3 2
      Assets/ExampleAssets/Materials/Jigsaw_Mat.mat
  11. 3 2
      Assets/ExampleAssets/Materials/LightBulb_Mat.mat
  12. 3 2
      Assets/ExampleAssets/Materials/Liquid_Mat.mat
  13. 3 2
      Assets/ExampleAssets/Materials/Metal_Blue_Simple_Mat.mat
  14. 3 2
      Assets/ExampleAssets/Materials/Metal_Simple_Mat.mat
  15. 3 2
      Assets/ExampleAssets/Materials/OBS_Mat.mat
  16. 3 2
      Assets/ExampleAssets/Materials/PaintBrush_Mat.mat
  17. 3 2
      Assets/ExampleAssets/Materials/PaintLabel_Mat.mat
  18. 3 2
      Assets/ExampleAssets/Materials/Plastic_Black_Mat.mat
  19. 3 2
      Assets/ExampleAssets/Materials/Plastic_Gray_Mat.mat
  20. 3 2
      Assets/ExampleAssets/Materials/Plastic_Ridges_Mat.mat
  21. 3 2
      Assets/ExampleAssets/Materials/Plastic_Rough_Mat.mat
  22. 3 2
      Assets/ExampleAssets/Materials/Plastic_Transparent.mat
  23. 3 2
      Assets/ExampleAssets/Materials/Plastic_White_Mat.mat
  24. 3 2
      Assets/ExampleAssets/Materials/Plastic_Yellow_Mat.mat
  25. 3 2
      Assets/ExampleAssets/Materials/Strap_Mat.mat
  26. 3 2
      Assets/ExampleAssets/Materials/Stud_Mat.mat
  27. 3 2
      Assets/Materials/3dArrowMaterial.mat
  28. 3 2
      Assets/Materials/Bike_Frame.mat
  29. 3 2
      Assets/Materials/Blac_Shiny.mat
  30. 3 2
      Assets/Materials/Chain.mat
  31. 3 2
      Assets/Materials/CoinMaterial.mat
  32. 3 2
      Assets/Materials/Floor_Default.mat
  33. 3 2
      Assets/Materials/Metal.mat
  34. 3 2
      Assets/Materials/PavementColor.mat
  35. 3 2
      Assets/Materials/Plastic_Black.mat
  36. 3 2
      Assets/Materials/Route_Line.mat
  37. 3 2
      Assets/PolygonCity/Materials/Billboard_Mat.mat
  38. 3 2
      Assets/PolygonCity/Materials/FX_Materials/Cloud_Mat.mat
  39. 3 2
      Assets/PolygonCity/Materials/FX_Materials/RainWater_Mat.mat
  40. 3 2
      Assets/PolygonCity/Materials/FX_Materials/Skyline_Mat.mat
  41. 3 2
      Assets/PolygonCity/Materials/FX_Materials/Water_Mat.mat
  42. 3 2
      Assets/PolygonCity/Materials/PolygonCity_Glass_Mat.mat
  43. 3 2
      Assets/PolygonCity/Materials/PolygonCity_Glass_Veh_Mat.mat
  44. 3 2
      Assets/PolygonCity/Materials/PolygonCity_Mat_01_A.mat
  45. 3 2
      Assets/PolygonCity/Materials/PolygonCity_Mat_01_B.mat
  46. 3 2
      Assets/PolygonCity/Materials/PolygonCity_Mat_01_C.mat
  47. 3 2
      Assets/PolygonCity/Materials/PolygonCity_Mat_02_A.mat
  48. 3 2
      Assets/PolygonCity/Materials/PolygonCity_Mat_02_B.mat
  49. 3 2
      Assets/PolygonCity/Materials/PolygonCity_Mat_02_C.mat
  50. 3 2
      Assets/PolygonCity/Materials/PolygonCity_Mat_03_A.mat
  51. 3 2
      Assets/PolygonCity/Materials/PolygonCity_Mat_03_B.mat
  52. 3 2
      Assets/PolygonCity/Materials/PolygonCity_Mat_03_C.mat
  53. 3 2
      Assets/PolygonCity/Materials/PolygonCity_Mat_04_A.mat
  54. 3 2
      Assets/PolygonCity/Materials/PolygonCity_Mat_04_B.mat
  55. 3 2
      Assets/PolygonCity/Materials/PolygonCity_Mat_04_C.mat
  56. 3 2
      Assets/PolygonCity/Materials/PolygonCity_Mat_Road_01.mat
  57. 3 2
      Assets/PolygonCity/Materials/PolygonCity_Mat_Road_02.mat
  58. 3 2
      Assets/PolygonCity/Materials/PolygonCity_Mat_Road_03.mat
  59. 3 2
      Assets/PolygonCity/Materials/PolygonCity_Mat_Road_04.mat
  60. 3 2
      Assets/PolygonCity/Models/Collisions/Materials/PolygonCity_Texture.mat
  61. 3 2
      Assets/PolygonCity/Models/Collisions/Materials/lambert1.mat
  62. 3 2
      Assets/PolygonCity/Models/Materials/PolygonCity_Texture_01_C.mat
  63. 3 2
      Assets/PolygonTown/Materials/Alternates/PolygonTown_01_B.mat
  64. 3 2
      Assets/PolygonTown/Materials/Alternates/PolygonTown_01_C.mat
  65. 3 2
      Assets/PolygonTown/Materials/Alternates/PolygonTown_02_B.mat
  66. 3 2
      Assets/PolygonTown/Materials/Alternates/PolygonTown_02_C.mat
  67. 3 2
      Assets/PolygonTown/Materials/Alternates/PolygonTown_03_B.mat
  68. 3 2
      Assets/PolygonTown/Materials/Alternates/PolygonTown_03_C.mat
  69. 3 2
      Assets/PolygonTown/Materials/Alternates/PolygonTown_04_B.mat
  70. 3 2
      Assets/PolygonTown/Materials/Alternates/PolygonTown_04_C.mat
  71. 3 2
      Assets/PolygonTown/Materials/Misc/Base_Glass.mat
  72. 3 2
      Assets/PolygonTown/Materials/Misc/Fridge_Glass.mat
  73. 3 2
      Assets/PolygonTown/Materials/Misc/Ground.mat
  74. 3 2
      Assets/PolygonTown/Materials/Misc/Mirror.mat
  75. 3 2
      Assets/PolygonTown/Materials/Misc/Mirror_Glass.mat
  76. 3 2
      Assets/PolygonTown/Materials/Misc/PolygonTown_01_A_Emissive.mat
  77. 3 2
      Assets/PolygonTown/Materials/Misc/PolygonTown_01_A_TEMP.mat
  78. 3 2
      Assets/PolygonTown/Materials/Misc/PolygonTown_Road.mat
  79. 3 2
      Assets/PolygonTown/Materials/Misc/TelevisionScreen.mat
  80. 3 2
      Assets/PolygonTown/Materials/Misc/Veh_Glass.mat
  81. 3 2
      Assets/PolygonTown/Materials/Misc/Water.mat
  82. 3 2
      Assets/PolygonTown/Materials/Misc/Window_Glass.mat
  83. 3 2
      Assets/PolygonTown/Materials/Misc/Window_Glass_Opaque.mat
  84. 3 2
      Assets/PolygonTown/Materials/PolygonTown_01_A.mat
  85. 3 2
      Assets/PolygonTown/Materials/PolygonTown_02_A.mat
  86. 3 2
      Assets/PolygonTown/Materials/PolygonTown_03_A.mat
  87. 3 2
      Assets/PolygonTown/Materials/PolygonTown_04_A.mat
  88. 351 0
      Assets/SteamVR/Editor/SteamVR_AutoEnableVR_2018to2019.cs
  89. 1 1
      Assets/SteamVR/Editor/SteamVR_AutoEnableVR_2018to2019.cs.meta
  90. 323 0
      Assets/SteamVR/Editor/SteamVR_AutoEnableVR_2019plus.cs
  91. 1 1
      Assets/SteamVR/Editor/SteamVR_AutoEnableVR_2019plus.cs.meta
  92. 123 0
      Assets/SteamVR/Editor/SteamVR_AutoEnableVR_5.4to2018.cs
  93. 11 0
      Assets/SteamVR/Editor/SteamVR_AutoEnableVR_5.4to2018.cs.meta
  94. 6 0
      Assets/SteamVR/Input/Editor/SteamVR_Input_EditorWindow.cs
  95. 8 15
      Assets/SteamVR/Input/Editor/SteamVR_Input_PostProcessBuild.cs
  96. 10 0
      Assets/SteamVR/Input/Editor/SteamVR_Skeleton_PoserEditor.cs
  97. 115 14
      Assets/SteamVR/Input/Plugins/JSON.NET/Valve.Newtonsoft.Json.dll.meta
  98. 40 0
      Assets/SteamVR/Input/SteamVR_Action_Boolean.cs
  99. 65 0
      Assets/SteamVR/Input/SteamVR_Action_Pose.cs
  100. 37 0
      Assets/SteamVR/Input/SteamVR_Action_Single.cs

+ 13 - 0
.idea/.idea.VR Cycling/.idea/indexLayout.xml

@@ -5,21 +5,33 @@
     <explicitIncludes>
       <Path>Library/PackageCache/com.autodesk.fbx@3.1.0-preview.2</Path>
       <Path>Library/PackageCache/com.unity.collab-proxy@1.2.16</Path>
+      <Path>Library/PackageCache/com.unity.collab-proxy@1.3.9</Path>
       <Path>Library/PackageCache/com.unity.ext.nunit@1.0.0</Path>
       <Path>Library/PackageCache/com.unity.formats.fbx@3.2.1-preview.2</Path>
       <Path>Library/PackageCache/com.unity.ide.rider@1.1.4</Path>
+      <Path>Library/PackageCache/com.unity.ide.rider@1.2.1</Path>
+      <Path>Library/PackageCache/com.unity.ide.visualstudio@2.0.3</Path>
       <Path>Library/PackageCache/com.unity.ide.vscode@1.2.3</Path>
       <Path>Library/PackageCache/com.unity.inputsystem@1.0.1</Path>
       <Path>Library/PackageCache/com.unity.postprocessing@3.0.1</Path>
       <Path>Library/PackageCache/com.unity.recorder@2.2.0-preview.4</Path>
       <Path>Library/PackageCache/com.unity.render-pipelines.core@7.3.1</Path>
+      <Path>Library/PackageCache/com.unity.render-pipelines.core@8.2.0</Path>
       <Path>Library/PackageCache/com.unity.render-pipelines.universal@7.3.1</Path>
+      <Path>Library/PackageCache/com.unity.render-pipelines.universal@8.2.0</Path>
+      <Path>Library/PackageCache/com.unity.searcher@4.0.9</Path>
       <Path>Library/PackageCache/com.unity.shadergraph@7.3.1</Path>
+      <Path>Library/PackageCache/com.unity.shadergraph@8.2.0</Path>
+      <Path>Library/PackageCache/com.unity.subsystemregistration@1.0.6</Path>
       <Path>Library/PackageCache/com.unity.test-framework@1.1.18</Path>
       <Path>Library/PackageCache/com.unity.textmeshpro@2.1.1</Path>
+      <Path>Library/PackageCache/com.unity.textmeshpro@3.0.1</Path>
       <Path>Library/PackageCache/com.unity.timeline@1.2.16</Path>
+      <Path>Library/PackageCache/com.unity.xr.legacyinputhelpers@2.1.4</Path>
+      <Path>Library/PackageCache/com.unity.xr.management@3.2.16</Path>
       <Path>Library/PackageCache/com.unity.xr.oculus.standalone@2.38.4</Path>
       <Path>Library/PackageCache/com.unity.xr.openvr.standalone@2.0.5</Path>
+      <Path>Library/PackageCache/com.valvesoftware.unity.openvr@ecdf2388462c-1610414760000</Path>
       <Path>Packages</Path>
       <Path>ProjectSettings</Path>
     </explicitIncludes>
@@ -31,6 +43,7 @@
       <Path>Integrations</Path>
       <Path>Library</Path>
       <Path>Logs</Path>
+      <Path>Temp</Path>
       <Path>UserSettings</Path>
       <Path>obj</Path>
     </explicitExcludes>

File diff suppressed because it is too large
+ 1 - 1
Assembly-CSharp-Editor.csproj


File diff suppressed because it is too large
+ 1 - 1
Assembly-CSharp.csproj


+ 3 - 2
Assets/ExampleAssets/Materials/ConstructionLight_Mat.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/ExampleAssets/Materials/DryWallPainted_Mat.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 1
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -95,6 +95,7 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &1771650891458244884
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -107,4 +108,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/ExampleAssets/Materials/DryWall_Mat.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 1
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/ExampleAssets/Materials/Ground_Mat.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/ExampleAssets/Materials/Hammer_Mat.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -95,6 +95,7 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &6967907786537439707
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -107,4 +108,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/ExampleAssets/Materials/HardHat_Mat.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -95,6 +95,7 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &8647599817607310902
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -107,4 +108,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/ExampleAssets/Materials/Jigsaw_Mat.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -95,6 +95,7 @@ Material:
     - _Color: {r: 0.9150943, g: 0.87006557, b: 0.7985493, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &2767029208389193504
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -107,4 +108,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/ExampleAssets/Materials/LightBulb_Mat.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 2
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 2.9960785, g: 2.9960785, b: 2.9960785, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/ExampleAssets/Materials/Liquid_Mat.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 3050
+  m_CustomRenderQueue: 3000
   stringTagMap:
     RenderType: Transparent
   disabledShaderPasses:
@@ -109,3 +109,4 @@ Material:
     - _Color: {r: 0.9528302, g: 0.9241496, b: 0.3460751, a: 0.4627451}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/ExampleAssets/Materials/Metal_Blue_Simple_Mat.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -95,6 +95,7 @@ Material:
     - _Color: {r: 0.20990565, g: 0.41062787, b: 0.8396226, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &6685764012646671145
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -107,4 +108,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/ExampleAssets/Materials/Metal_Simple_Mat.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/ExampleAssets/Materials/OBS_Mat.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 1
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -95,6 +95,7 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &5927436510443696187
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -107,4 +108,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/ExampleAssets/Materials/PaintBrush_Mat.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -95,6 +95,7 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &3664974306083302143
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -107,4 +108,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/ExampleAssets/Materials/PaintLabel_Mat.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 0.9433962, g: 0.9433962, b: 0.9433962, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/ExampleAssets/Materials/Plastic_Black_Mat.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 0.1764706, g: 0.1764706, b: 0.1764706, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/ExampleAssets/Materials/Plastic_Gray_Mat.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 0.39215687, g: 0.39215687, b: 0.39215687, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/ExampleAssets/Materials/Plastic_Ridges_Mat.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -95,6 +95,7 @@ Material:
     - _Color: {r: 0.8235294, g: 0.8235294, b: 0.8235294, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &1230989996996950307
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -107,4 +108,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/ExampleAssets/Materials/Plastic_Rough_Mat.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -95,6 +95,7 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &3444790275104991249
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -107,4 +108,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/ExampleAssets/Materials/Plastic_Transparent.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 3050
+  m_CustomRenderQueue: 3000
   stringTagMap:
     RenderType: Transparent
   disabledShaderPasses:
@@ -109,3 +109,4 @@ Material:
     - _Color: {r: 0.41509426, g: 0.41509426, b: 0.41509426, a: 0.6}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/ExampleAssets/Materials/Plastic_White_Mat.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 0.9056604, g: 0.9056604, b: 0.9056604, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/ExampleAssets/Materials/Plastic_Yellow_Mat.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 1, g: 0.8687334, b: 0.062745094, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/ExampleAssets/Materials/Strap_Mat.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -95,6 +95,7 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &5515891668176480062
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -107,4 +108,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/ExampleAssets/Materials/Stud_Mat.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 1
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/Materials/3dArrowMaterial.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 3050
+  m_CustomRenderQueue: 3000
   stringTagMap:
     RenderType: Transparent
   disabledShaderPasses:
@@ -112,6 +112,7 @@ Material:
     - _Specular: {r: 0, g: 0, b: 0, a: 0}
     - _UvOffset: {r: 0, g: 0, b: 0, a: 0}
     - _UvTiling: {r: 1, g: 1, b: 0, a: 0}
+  m_BuildTextureStacks: []
 --- !u!114 &3659556437148223168
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -124,4 +125,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/Materials/Bike_Frame.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -75,6 +75,7 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &8289608876012418658
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -87,4 +88,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/Materials/Blac_Shiny.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -75,6 +75,7 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &2399085371489777124
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -87,4 +88,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/Materials/Chain.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -88,3 +88,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/Materials/CoinMaterial.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -88,3 +88,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/Materials/Floor_Default.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -88,3 +88,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/Materials/Metal.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -88,3 +88,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/Materials/PavementColor.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -88,3 +88,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/Materials/Plastic_Black.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -88,3 +88,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/Materials/Route_Line.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 3050
+  m_CustomRenderQueue: 3000
   stringTagMap:
     RenderType: Transparent
   disabledShaderPasses:
@@ -85,6 +85,7 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
     - _Specular: {r: 0, g: 0, b: 0, a: 0}
+  m_BuildTextureStacks: []
 --- !u!114 &2049640972875789400
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -97,4 +98,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonCity/Materials/Billboard_Mat.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 1
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -97,6 +97,7 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &4320613517129419063
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -109,4 +110,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonCity/Materials/FX_Materials/Cloud_Mat.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 1
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -110,3 +110,4 @@ Material:
     - _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonCity/Materials/FX_Materials/RainWater_Mat.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 1
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 3050
+  m_CustomRenderQueue: 3000
   stringTagMap:
     RenderType: Transparent
   disabledShaderPasses:
@@ -111,3 +111,4 @@ Material:
     - _EmissionColor: {r: 0.1, g: 0.1, b: 0.1, a: 0.1}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonCity/Materials/FX_Materials/Skyline_Mat.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 1
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -110,3 +110,4 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonCity/Materials/FX_Materials/Water_Mat.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 6
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 3050
+  m_CustomRenderQueue: 3000
   stringTagMap:
     RenderType: Transparent
   disabledShaderPasses:
@@ -98,6 +98,7 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &7651694516011111364
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -110,4 +111,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonCity/Materials/PolygonCity_Glass_Mat.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 1
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 3050
+  m_CustomRenderQueue: 3000
   stringTagMap:
     RenderType: Transparent
   disabledShaderPasses:
@@ -111,3 +111,4 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonCity/Materials/PolygonCity_Glass_Veh_Mat.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 1
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 3050
+  m_CustomRenderQueue: 3000
   stringTagMap:
     RenderType: Transparent
   disabledShaderPasses:
@@ -111,3 +111,4 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonCity/Materials/PolygonCity_Mat_01_A.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 6
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -110,3 +110,4 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonCity/Materials/PolygonCity_Mat_01_B.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 6
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -97,6 +97,7 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &8659577642455656014
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -109,4 +110,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonCity/Materials/PolygonCity_Mat_01_C.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 6
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -110,3 +110,4 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonCity/Materials/PolygonCity_Mat_02_A.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 1
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -110,3 +110,4 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonCity/Materials/PolygonCity_Mat_02_B.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 6
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -97,6 +97,7 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &3565433820972290252
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -109,4 +110,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonCity/Materials/PolygonCity_Mat_02_C.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 1
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -110,3 +110,4 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonCity/Materials/PolygonCity_Mat_03_A.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 1
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -97,6 +97,7 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &844803555205066255
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -109,4 +110,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonCity/Materials/PolygonCity_Mat_03_B.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 1
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -110,3 +110,4 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonCity/Materials/PolygonCity_Mat_03_C.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 1
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -110,3 +110,4 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonCity/Materials/PolygonCity_Mat_04_A.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 6
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -97,6 +97,7 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &1901450516662195266
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -109,4 +110,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonCity/Materials/PolygonCity_Mat_04_B.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 1
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -110,3 +110,4 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonCity/Materials/PolygonCity_Mat_04_C.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 6
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -97,6 +97,7 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &4838110943462381266
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -109,4 +110,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonCity/Materials/PolygonCity_Mat_Road_01.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 6
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -97,6 +97,7 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &1314361610470821238
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -109,4 +110,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonCity/Materials/PolygonCity_Mat_Road_02.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 1
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -97,6 +97,7 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &7075561375546269488
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -109,4 +110,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonCity/Materials/PolygonCity_Mat_Road_03.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 6
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -97,6 +97,7 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &6278908403461647978
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -109,4 +110,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonCity/Materials/PolygonCity_Mat_Road_04.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 6
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -110,3 +110,4 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
     - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonCity/Models/Collisions/Materials/PolygonCity_Texture.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -95,6 +95,7 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &8817997964645377087
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -107,4 +108,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonCity/Models/Collisions/Materials/lambert1.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonCity/Models/Materials/PolygonCity_Texture_01_C.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonTown/Materials/Alternates/PolygonTown_01_B.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -95,6 +95,7 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &1675015450306413905
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -107,4 +108,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonTown/Materials/Alternates/PolygonTown_01_C.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -95,6 +95,7 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &3910901084577520934
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -107,4 +108,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonTown/Materials/Alternates/PolygonTown_02_B.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -95,6 +95,7 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &9190687656660194087
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -107,4 +108,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonTown/Materials/Alternates/PolygonTown_02_C.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonTown/Materials/Alternates/PolygonTown_03_B.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -95,6 +95,7 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &7116201350007551056
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -107,4 +108,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonTown/Materials/Alternates/PolygonTown_03_C.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonTown/Materials/Alternates/PolygonTown_04_B.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -95,6 +95,7 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &9101886553083503906
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -107,4 +108,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonTown/Materials/Alternates/PolygonTown_04_C.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonTown/Materials/Misc/Base_Glass.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 3050
+  m_CustomRenderQueue: 3000
   stringTagMap:
     RenderType: Transparent
   disabledShaderPasses:
@@ -96,6 +96,7 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 0.503}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &128746073216939172
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -108,4 +109,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonTown/Materials/Misc/Fridge_Glass.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 3050
+  m_CustomRenderQueue: 3000
   stringTagMap:
     RenderType: Transparent
   disabledShaderPasses:
@@ -96,6 +96,7 @@ Material:
     - _Color: {r: 0.18285038, g: 0.51782167, b: 0.6544118, a: 0.503}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &6458521654878051507
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -108,4 +109,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonTown/Materials/Misc/Ground.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -95,6 +95,7 @@ Material:
     - _Color: {r: 0.41176468, g: 0.41176468, b: 0.41176468, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &6971047573164406689
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -107,4 +108,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonTown/Materials/Misc/Mirror.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonTown/Materials/Misc/Mirror_Glass.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 0.334}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonTown/Materials/Misc/PolygonTown_01_A_Emissive.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 1
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonTown/Materials/Misc/PolygonTown_01_A_TEMP.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonTown/Materials/Misc/PolygonTown_Road.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonTown/Materials/Misc/TelevisionScreen.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -95,6 +95,7 @@ Material:
     - _Color: {r: 0.1102941, g: 0.1102941, b: 0.1102941, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &2841692677913030730
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -107,4 +108,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonTown/Materials/Misc/Veh_Glass.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 3050
+  m_CustomRenderQueue: 3000
   stringTagMap:
     RenderType: Transparent
   disabledShaderPasses:
@@ -96,6 +96,7 @@ Material:
     - _Color: {r: 0.33742428, g: 0.48014107, b: 0.5808823, a: 0.334}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &4116858618357274376
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -108,4 +109,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonTown/Materials/Misc/Water.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 3050
+  m_CustomRenderQueue: 3000
   stringTagMap:
     RenderType: Transparent
   disabledShaderPasses:
@@ -109,3 +109,4 @@ Material:
     - _Color: {r: 0.3867863, g: 0.6653382, b: 0.7205882, a: 0.409}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonTown/Materials/Misc/Window_Glass.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 3050
+  m_CustomRenderQueue: 3000
   stringTagMap:
     RenderType: Transparent
   disabledShaderPasses:
@@ -96,6 +96,7 @@ Material:
     - _Color: {r: 0.18285038, g: 0.51782167, b: 0.6544118, a: 0.503}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &5498558566882313173
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -108,4 +109,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonTown/Materials/Misc/Window_Glass_Opaque.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 0.5808823, g: 0.5808823, b: 0.5808823, a: 0.503}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonTown/Materials/PolygonTown_01_A.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonTown/Materials/PolygonTown_02_A.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -95,6 +95,7 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &6610567346976413529
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -107,4 +108,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 3 - 2
Assets/PolygonTown/Materials/PolygonTown_03_A.mat

@@ -12,7 +12,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2
 --- !u!21 &2100000
 Material:
   serializedVersion: 6
@@ -26,7 +26,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -108,3 +108,4 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []

+ 3 - 2
Assets/PolygonTown/Materials/PolygonTown_04_A.mat

@@ -13,7 +13,7 @@ Material:
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
-  m_CustomRenderQueue: 2050
+  m_CustomRenderQueue: 2000
   stringTagMap:
     RenderType: Opaque
   disabledShaderPasses: []
@@ -95,6 +95,7 @@ Material:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
 --- !u!114 &4479781128702253163
 MonoBehaviour:
   m_ObjectHideFlags: 11
@@ -107,4 +108,4 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  version: 1
+  version: 2

+ 351 - 0
Assets/SteamVR/Editor/SteamVR_AutoEnableVR_2018to2019.cs

@@ -0,0 +1,351 @@
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
+//
+// Purpose: Prompt developers to use settings most compatible with SteamVR.
+//
+//=============================================================================
+
+//2019 will use some of this
+#if (UNITY_2018_1_OR_NEWER && !UNITY_2020_1_OR_NEWER)
+
+using UnityEngine;
+using UnityEditor;
+using System.IO;
+using System.Collections.Generic;
+using System.Linq;
+using System;
+using System.Reflection;
+
+using Valve.VR.InteractionSystem;
+using UnityEditor.Callbacks;
+
+#pragma warning disable CS0618
+#pragma warning disable CS0219
+#pragma warning disable CS0414
+
+
+namespace Valve.VR
+{
+#if (UNITY_2018_1_OR_NEWER && !UNITY_2019_1_OR_NEWER)
+    public class SteamVR_AutoEnableVR_2018to2019
+    {
+        [DidReloadScripts]
+        private static void OnReload()
+        {
+            SteamVR_AutoEnableVR_UnityPackage.InstallAndEnableUnityVR();
+        }
+    }
+#endif
+
+    public class SteamVR_AutoEnableVR_UnityPackage
+    {
+        private static bool? _forceInstall;
+        private const string forceInstallKey = "steamvr.autoenablevr.forceInstall";
+        private static bool? _forceEnable;
+        private const string forceEnableKey = "steamvr.autoenablevr.forceEnable";
+        private static PackageStates? _updateState;
+        private const string updateStateKey = "steamvr.autoenablevr.updateState";
+
+        private static bool forceInstall
+        {
+            get
+            {
+                if (_forceInstall.HasValue == false)
+                {
+                    if (EditorPrefs.HasKey(forceInstallKey))
+                        _forceInstall = EditorPrefs.GetBool(forceInstallKey);
+                    else
+                        _forceInstall = false;
+                }
+
+                return _forceInstall.Value;
+            }
+            set
+            {
+                _forceInstall = value;
+                EditorPrefs.SetBool(forceInstallKey, value);
+            }
+        }
+        private static bool forceEnable
+        {
+            get
+            {
+                if (_forceEnable.HasValue == false)
+                {
+                    if (EditorPrefs.HasKey(forceEnableKey))
+                        _forceEnable = EditorPrefs.GetBool(forceEnableKey);
+                    else
+                        _forceEnable = false;
+                }
+
+                return _forceEnable.Value;
+            }
+            set
+            {
+                _forceEnable = value;
+                EditorPrefs.SetBool(forceEnableKey, value);
+            }
+        }
+
+        private static void UpdateUpdateStateFromPrefs()
+        {
+            if (_updateState.HasValue == false)
+            {
+                if (EditorPrefs.HasKey(updateStateKey))
+                    _updateState = (PackageStates)EditorPrefs.GetInt(updateStateKey);
+                else
+                    _updateState = PackageStates.None;
+            }
+        }
+
+        private static PackageStates updateState
+        {
+            get
+            {
+                if (_updateState.HasValue == false)
+                    UpdateUpdateStateFromPrefs();
+                return _updateState.Value;
+            }
+            set
+            {
+                _updateState = value;
+                EditorPrefs.SetInt(updateStateKey, (int)value);
+            }
+        }
+
+        public static void InstallAndEnableUnityVR(bool forceInstall = false, bool forceEnable = false)
+        {
+            _forceInstall = forceInstall;
+            _forceEnable = forceEnable;
+            EditorApplication.update += Update;
+        }
+
+        protected const string openVRString = "OpenVR";
+        protected const string unityOpenVRPackageString = "com.unity.xr.openvr.standalone";
+        protected const string valveOpenVRPackageString = "com.valvesoftware.unity.openvr";
+
+        private enum PackageStates
+        {
+            None,
+            WaitingForList,
+            WaitingForAdd,
+            WaitingForAddConfirm,
+            Installed,
+            Failed,
+        }
+
+        private static UnityEditor.PackageManager.Requests.ListRequest listRequest;
+        private static UnityEditor.PackageManager.Requests.AddRequest addRequest;
+        private static System.Diagnostics.Stopwatch addingPackageTime = new System.Diagnostics.Stopwatch();
+        private static System.Diagnostics.Stopwatch addingPackageTimeTotal = new System.Diagnostics.Stopwatch();
+        private static float estimatedTimeToInstall = 80;
+        private static int addTryCount = 0;
+
+        private static void End()
+        {
+            updateState = PackageStates.None;
+            addingPackageTime.Stop();
+            addingPackageTimeTotal.Stop();
+            UnityEditor.EditorUtility.ClearProgressBar();
+            EditorApplication.update -= Update;
+        }
+
+        public static void Update()
+        {
+            if (!SteamVR_Settings.instance.autoEnableVR || Application.isPlaying)
+                End();
+
+            if (UnityEditor.PlayerSettings.virtualRealitySupported == false)
+            {
+                if (forceInstall == false)
+                {
+                    int shouldInstall = UnityEditor.EditorUtility.DisplayDialogComplex("SteamVR", "Would you like to enable Virtual Reality mode?\n\nThis will install the OpenVR for Desktop package and enable it in Player Settings.", "Yes", "No, and don't ask again", "No");
+
+                    switch (shouldInstall)
+                    {
+                        case 0: //yes
+                            UnityEditor.PlayerSettings.virtualRealitySupported = true;
+                            break;
+                        case 1: //no
+                            End();
+                            return;
+                        case 2: //no, don't ask
+                            SteamVR_Settings.instance.autoEnableVR = false;
+                            SteamVR_Settings.Save();
+                            End();
+                            return;
+                    }
+                }
+
+                Debug.Log("<b>[SteamVR Setup]</b> Enabled virtual reality support in Player Settings. (you can disable this by unchecking Assets/SteamVR/SteamVR_Settings.autoEnableVR)");
+            }
+
+            switch (updateState)
+            {
+                case PackageStates.None:
+                    //see if we have the package
+                    listRequest = UnityEditor.PackageManager.Client.List(true);
+                    updateState = PackageStates.WaitingForList;
+                    break;
+
+                case PackageStates.WaitingForList:
+                    if (listRequest == null)
+                    {
+                        listRequest = UnityEditor.PackageManager.Client.List(true);
+                        updateState = PackageStates.WaitingForList;
+                    }
+                    else if (listRequest.IsCompleted)
+                    {
+                        if (listRequest.Error != null || listRequest.Status == UnityEditor.PackageManager.StatusCode.Failure)
+                        {
+                            updateState = PackageStates.Failed;
+                            break;
+                        }
+
+                        string packageName = unityOpenVRPackageString;
+
+                        bool hasPackage = listRequest.Result.Any(package => package.name == packageName);
+
+                        if (hasPackage == false)
+                        {
+                            //if we don't have the package - then install it
+                            addRequest = UnityEditor.PackageManager.Client.Add(packageName);
+                            updateState = PackageStates.WaitingForAdd;
+                            addTryCount++;
+
+                            Debug.Log("<b>[SteamVR Setup]</b> Installing OpenVR package...");
+                            addingPackageTime.Start();
+                            addingPackageTimeTotal.Start();
+                        }
+                        else
+                        {
+                            //if we do have the package, make sure it's enabled.
+                            updateState = PackageStates.Installed; //already installed
+                        }
+                    }
+                    break;
+
+                case PackageStates.WaitingForAdd:
+                    if (addRequest.IsCompleted)
+                    {
+                        if (addRequest.Error != null || addRequest.Status == UnityEditor.PackageManager.StatusCode.Failure)
+                        {
+                            updateState = PackageStates.Failed;
+                            break;
+                        }
+                        else
+                        {
+                            //if the package manager says we added it then confirm that with the list
+                            listRequest = UnityEditor.PackageManager.Client.List(true);
+                            updateState = PackageStates.WaitingForAddConfirm;
+                        }
+                    }
+                    else
+                    {
+                        if (addingPackageTimeTotal.Elapsed.TotalSeconds > estimatedTimeToInstall)
+                        {
+                            if (addTryCount == 1)
+                                estimatedTimeToInstall *= 2; //give us more time to retry
+                            else
+                                updateState = PackageStates.Failed;
+                        }
+
+                        string dialogText;
+                        if (addTryCount == 1)
+                            dialogText = "Installing OpenVR from Unity Package Manager...";
+                        else
+                            dialogText = "Retrying OpenVR install from Unity Package Manager...";
+
+                        bool cancel = UnityEditor.EditorUtility.DisplayCancelableProgressBar("SteamVR", dialogText, (float)addingPackageTimeTotal.Elapsed.TotalSeconds / estimatedTimeToInstall);
+                        if (cancel)
+                            updateState = PackageStates.Failed;
+
+                        if (addingPackageTime.Elapsed.TotalSeconds > 10)
+                        {
+                            Debug.Log("<b>[SteamVR Setup]</b> Waiting for package manager to install OpenVR package...");
+                            addingPackageTime.Stop();
+                            addingPackageTime.Reset();
+                            addingPackageTime.Start();
+                        }
+                    }
+                    break;
+
+                case PackageStates.WaitingForAddConfirm:
+                    if (listRequest.IsCompleted)
+                    {
+                        if (listRequest.Error != null)
+                        {
+                            updateState = PackageStates.Failed;
+                            break;
+                        }
+                        string packageName = unityOpenVRPackageString;
+
+                        bool hasPackage = listRequest.Result.Any(package => package.name == packageName);
+
+                        if (hasPackage == false)
+                        {
+                            if (addTryCount == 1)
+                            {
+                                addRequest = UnityEditor.PackageManager.Client.Add(packageName);
+                                updateState = PackageStates.WaitingForAdd;
+                                addTryCount++;
+
+                                Debug.Log("<b>[SteamVR Setup]</b> Retrying OpenVR package install...");
+                            }
+                            else
+                            {
+                                updateState = PackageStates.Failed;
+                            }
+                        }
+                        else
+                        {
+                            updateState = PackageStates.Installed; //installed successfully
+
+                            Debug.Log("<b>[SteamVR Setup]</b> Successfully installed OpenVR Desktop package.");
+                        }
+                    }
+                    break;
+
+                case PackageStates.Installed:
+                    UnityEditor.BuildTargetGroup currentTarget = UnityEditor.EditorUserBuildSettings.selectedBuildTargetGroup;
+
+                    string[] devices = UnityEditorInternal.VR.VREditor.GetVREnabledDevicesOnTargetGroup(currentTarget);
+
+                    bool hasOpenVR = false;
+                    bool isFirst = false;
+
+                    if (devices.Length != 0)
+                    {
+                        int index = Array.FindIndex(devices, device => string.Equals(device, openVRString, System.StringComparison.CurrentCultureIgnoreCase));
+                        hasOpenVR = index != -1;
+                        isFirst = index == 0;
+                    }
+
+                    //list openvr as the first option if it was in the list already
+                    List<string> devicesList = new List<string>(devices);
+                    if (isFirst == false)
+                    {
+                        if (hasOpenVR == true)
+                            devicesList.Remove(openVRString);
+
+                        devicesList.Insert(0, openVRString);
+                        string[] newDevices = devicesList.ToArray();
+
+                        UnityEditorInternal.VR.VREditor.SetVREnabledDevicesOnTargetGroup(currentTarget, newDevices);
+                        Debug.Log("<b>[SteamVR Setup]</b> Added OpenVR to supported VR SDKs list.");
+                    }
+
+                    End();
+                    break;
+
+                case PackageStates.Failed:
+                    End();
+
+                    string failtext = "The Unity Package Manager failed to automatically install the OpenVR Desktop package. Please open the Package Manager Window and try to install it manually.";
+                    UnityEditor.EditorUtility.DisplayDialog("SteamVR", failtext, "Ok");
+                    Debug.Log("<b>[SteamVR Setup]</b> " + failtext);
+                    break;
+            }
+        }
+    }
+}
+#endif

+ 1 - 1
Assets/SteamVR/OpenVRAutoUpdater/Editor/OpenVRSimpleJSON.cs.meta → Assets/SteamVR/Editor/SteamVR_AutoEnableVR_2018to2019.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: ca02308d9febaa442a742ecaaaa06d2c
+guid: b894f6f57c99a1c46957650bc11d7824
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 323 - 0
Assets/SteamVR/Editor/SteamVR_AutoEnableVR_2019plus.cs

@@ -0,0 +1,323 @@
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
+//
+// Purpose: Prompt developers to use settings most compatible with SteamVR.
+//
+//=============================================================================
+
+#if (UNITY_2019_1_OR_NEWER)
+
+using UnityEngine;
+using UnityEditor;
+using System.IO;
+using System.Collections.Generic;
+using System.Linq;
+using System;
+using System.Reflection;
+
+using Valve.VR.InteractionSystem;
+using UnityEditor.Callbacks;
+
+#if OPENVR_XR_API
+using UnityEditor.XR.Management.Metadata;
+using UnityEngine.XR.Management;
+using UnityEditor.XR.Management;
+#endif
+
+#pragma warning disable CS0618
+#pragma warning disable CS0219
+#pragma warning disable CS0414
+
+
+namespace Valve.VR
+{
+#if (UNITY_2019_1_OR_NEWER && !UNITY_2020_1_OR_NEWER)
+    public class SteamVR_AutoEnableVR_2019to2020
+    {
+        [DidReloadScripts]
+        private static void OnReload()
+        {
+#if !OPENVR_XR_API
+            //if we don't have xr installed, check to see if we have vr installed. if we don't have vr installed, ask which they do want to install.
+            SteamVR_AutoEnableVR_2019.CheckAndAsk();
+#else
+            //since we already have xr installed, we know we just want to enable it
+            SteamVR_AutoEnableVR_UnityXR.EnableUnityXR();
+#endif
+        }
+    }
+#endif
+
+#if (UNITY_2020_1_OR_NEWER)
+    public class SteamVR_AutoEnableVR_2020Plus
+    {
+        [DidReloadScripts]
+        private static void OnReload()
+        {
+#if !OPENVR_XR_API
+            SteamVR_AutoEnableVR_UnityXR.InstallAndEnableUnityXR();
+#else
+            //since we already have xr installed, we know we just want to enable it
+            SteamVR_AutoEnableVR_UnityXR.EnableUnityXR();
+#endif
+        }
+    }
+#endif
+
+#if (UNITY_2019_1_OR_NEWER && !UNITY_2020_1_OR_NEWER)
+    public class SteamVR_AutoEnableVR_2019
+    {
+        public static void CheckAndAsk()
+        {
+            EditorApplication.update += Update;
+        }
+
+        protected const string openVRString = "OpenVR";
+        protected const string unityOpenVRPackageString = "com.unity.xr.openvr.standalone";
+        protected const string valveOpenVRPackageString = "com.valvesoftware.unity.openvr";
+
+        private enum PackageStates
+        {
+            None,
+            WaitingForList,
+            Complete,
+            Failed,
+        }
+
+        private static UnityEditor.PackageManager.Requests.ListRequest listRequest;
+        private static PackageStates packageState = PackageStates.None;
+
+        private static void End()
+        {
+            packageState = PackageStates.None;
+            UnityEditor.EditorUtility.ClearProgressBar();
+            EditorApplication.update -= Update;
+        }
+
+        private static void ShowDialog()
+        {
+            int shouldInstall = UnityEditor.EditorUtility.DisplayDialogComplex("SteamVR", "The SteamVR Unity Plugin can be used with the legacy Unity VR API (Unity 5.4 - 2019) or with the Unity XR API (2019+). Would you like to install in legacy VR mode or for Unity XR?", "Legacy VR", "Cancel", "Unity XR");
+
+            switch (shouldInstall)
+            {
+                case 0: //legacy vr
+                    SteamVR_AutoEnableVR_UnityPackage.InstallAndEnableUnityVR();
+                    break;
+                case 1: //cancel
+                    break;
+                case 2: //unity xr
+                    SteamVR_AutoEnableVR_UnityXR.InstallAndEnableUnityXR();
+                    break;
+            }
+
+            End();
+        }
+
+        public static void Update()
+        {
+            if (!SteamVR_Settings.instance.autoEnableVR || Application.isPlaying)
+                End();
+
+            if (UnityEditor.PlayerSettings.virtualRealitySupported == false)
+            {
+                ShowDialog();
+                return;
+            }
+
+            switch (packageState)
+            {
+                case PackageStates.None:
+                    //see if we have the package
+                    listRequest = UnityEditor.PackageManager.Client.List(true);
+                    packageState = PackageStates.WaitingForList;
+                    break;
+
+                case PackageStates.WaitingForList:
+                    if (listRequest.IsCompleted)
+                    {
+                        if (listRequest.Error != null || listRequest.Status == UnityEditor.PackageManager.StatusCode.Failure)
+                        {
+                            packageState = PackageStates.Failed;
+                            break;
+                        }
+
+                        string packageName = unityOpenVRPackageString;
+
+                        bool hasPackage = listRequest.Result.Any(package => package.name == packageName);
+
+                        if (hasPackage == false)
+                            ShowDialog();
+                        else //if we do have the package, do nothing
+                            End();
+                    }
+                    break;
+
+                case PackageStates.Failed:
+                    End();
+
+                    string failtext = "The Unity Package Manager failed to verify the OpenVR package. If you were trying to install it you may need to open the Package Manager Window and try to install it manually.";
+                    UnityEditor.EditorUtility.DisplayDialog("SteamVR", failtext, "Ok");
+                    Debug.Log("<b>[SteamVR Setup]</b> " + failtext);
+                    break;
+            }
+        }
+    }
+#endif
+
+    // todo: split the below into an install and an enable section
+
+    public class SteamVR_AutoEnableVR_UnityXR
+    {
+        public static void InstallAndEnableUnityXR()
+        {
+            StartXRInstaller();
+            EditorApplication.update += Update;
+        }
+        public static void EnableUnityXR()
+        {
+            EditorApplication.update += Update;
+        }
+
+        protected const string openVRString = "OpenVR";
+        protected const string unityOpenVRPackageString = "com.unity.xr.openvr.standalone";
+        protected const string valveOpenVRPackageString = "com.valvesoftware.unity.openvr";
+
+
+        private enum PackageStates
+        {
+            None,
+            WaitingForList,
+            WaitingForAdd,
+            WaitingForAddConfirm,
+            Installed,
+            Failed,
+        }
+
+        private static UnityEditor.PackageManager.Requests.ListRequest listRequest;
+        private static UnityEditor.PackageManager.Requests.AddRequest addRequest;
+        private static PackageStates packageState = PackageStates.None;
+        private static System.Diagnostics.Stopwatch addingPackageTime = new System.Diagnostics.Stopwatch();
+        private static System.Diagnostics.Stopwatch addingPackageTimeTotal = new System.Diagnostics.Stopwatch();
+        private static float estimatedTimeToInstall = 80;
+        private static int addTryCount = 0;
+
+        private static string enabledLoaderKey = null;
+
+        private static MethodInfo isLoaderAssigned;
+        private static MethodInfo installPackageAndAssignLoaderForBuildTarget;
+
+        private static Type[] isLoaderAssignedMethodParameters;
+        private static object[] isLoaderAssignedCallParameters;
+
+        private static void End()
+        {
+            addingPackageTime.Stop();
+            addingPackageTimeTotal.Stop();
+            UnityEditor.EditorUtility.ClearProgressBar();
+            EditorApplication.update -= Update;
+        }
+
+        public static void Update()
+        {
+            if (!SteamVR_Settings.instance.autoEnableVR)
+                End();
+
+#if OPENVR_XR_API
+            EnableLoader();
+#endif
+        }
+
+#if OPENVR_XR_API
+
+        private static EditorWindow settingsWindow = null;
+        private static int skipEditorFrames = 5;
+        public static void EnableLoader()
+        {
+            if (skipEditorFrames > 0)
+            {
+                skipEditorFrames--;
+                return;
+            }
+
+            if (enabledLoaderKey == null)
+                enabledLoaderKey = string.Format(valveEnabledLoaderKeyTemplate, SteamVR_Settings.instance.editorAppKey);
+
+            if (EditorPrefs.HasKey(enabledLoaderKey) == false)
+            {
+                if (UnityEditor.PlayerSettings.virtualRealitySupported == true)
+                {
+                    UnityEditor.PlayerSettings.virtualRealitySupported = false;
+                    Debug.Log("<b>[SteamVR Setup]</b> Disabled virtual reality support in Player Settings. <b>Because you're using XR Manager. Make sure OpenVR Loader is enabled in XR Manager UI.</b> (you can disable this by unchecking Assets/SteamVR/SteamVR_Settings.autoEnableVR)");
+                }
+
+                var generalSettings = XRGeneralSettingsPerBuildTarget.XRGeneralSettingsForBuildTarget(BuildTargetGroup.Standalone);
+                if (generalSettings == null)
+                {
+                    if (settingsWindow == null)
+                    {
+                        settingsWindow = SettingsService.OpenProjectSettings("Project/XR Plug-in Management");
+                        settingsWindow.Repaint();
+                        return;
+                    }
+
+                    if (settingsWindow == null || generalSettings == null)
+                    {
+                        Debug.LogWarning("<b>[SteamVR Setup]</b> Unable to access standalone xr settings while trying to enable OpenVR Loader. <b>You may need to manually enable OpenVR Loader in XR Plug-in Management (Project Settings).</b> (you can disable this by unchecking Assets/SteamVR/SteamVR_Settings.autoEnableVR)");
+                        return;
+                    }
+                }
+
+                if (generalSettings.AssignedSettings == null)
+                {
+                    var assignedSettings = ScriptableObject.CreateInstance<XRManagerSettings>() as XRManagerSettings;
+                    generalSettings.AssignedSettings = assignedSettings;
+                    EditorUtility.SetDirty(generalSettings);
+                }
+
+                bool existing = generalSettings.AssignedSettings.loaders.Any(loader => loader.name == valveOpenVRLoaderType);
+
+                foreach (var loader in generalSettings.AssignedSettings.loaders)
+                {
+                    Debug.Log("loader: " + loader.name);
+                }
+
+                if (!existing)
+                {
+                    bool status = XRPackageMetadataStore.AssignLoader(generalSettings.AssignedSettings, valveOpenVRLoaderType, BuildTargetGroup.Standalone);
+                    if (status)
+                        Debug.Log("<b>[SteamVR Setup]</b> Enabled OpenVR Loader in XR Management");
+                    else
+                        Debug.LogError("<b>[SteamVR Setup]</b> Failed to enable enable OpenVR Loader in XR Management. You may need to manually open the XR Plug-in Management tab in project settings and check the OpenVR Loader box.");
+                }
+
+                EditorPrefs.SetBool(enabledLoaderKey, true);
+
+            }
+
+            End();
+        }
+#endif
+
+        protected const string valveEnabledLoaderKeyTemplate = "valve.enabledxrloader.{0}";
+        protected const string valveOpenVRLoaderType = "Unity.XR.OpenVR.OpenVRLoader";
+
+        private static void StartXRInstaller() 
+        {
+            Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
+            for (int assemblyIndex = 0; assemblyIndex < assemblies.Length; assemblyIndex++)
+            {
+                Assembly assembly = assemblies[assemblyIndex];
+                Type type = assembly.GetType("Unity.XR.OpenVR.OpenVRPackageInstaller");
+                if (type != null)
+                {
+                    MethodInfo preinitMethodInfo = type.GetMethod("Start");
+                    if (preinitMethodInfo != null)
+                    {
+                        preinitMethodInfo.Invoke(null, new object[] { true });
+                        return;
+                    }
+                }
+            }
+        }
+    }
+}
+#endif

+ 1 - 1
Assets/SteamVR/OpenVRAutoUpdater/Editor/OpenVRAutoUpdater.cs.meta → Assets/SteamVR/Editor/SteamVR_AutoEnableVR_2019plus.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 538300977557ee34892368a50c97bdd6
+guid: 524ac57f667bffd459f44076a7111efb
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 123 - 0
Assets/SteamVR/Editor/SteamVR_AutoEnableVR_5.4to2018.cs

@@ -0,0 +1,123 @@
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
+//
+// Purpose: Prompt developers to use settings most compatible with SteamVR.
+//
+//=============================================================================
+
+#if (UNITY_5_4_OR_NEWER && !UNITY_2018_1_OR_NEWER)
+
+using UnityEngine;
+using UnityEditor;
+using System.IO;
+using System.Collections.Generic;
+using System.Linq;
+using System;
+using System.Reflection;
+
+using UnityEditor.Callbacks;
+
+namespace Valve.VR
+{
+    public class SteamVR_AutoEnableVR_54to2018
+    {
+        [DidReloadScripts]
+        private static void OnReload()
+        {
+            EditorApplication.update += Update;
+        }
+
+        protected const string openVRString = "OpenVR";
+
+        private static void End()
+        {
+            EditorApplication.update -= Update;
+        }
+
+
+        public static void Update()
+        {
+            if (!SteamVR_Settings.instance.autoEnableVR || Application.isPlaying) 
+                End();
+            
+            bool enabledVR = false;
+
+            int shouldInstall = -1;
+            if (UnityEditor.PlayerSettings.virtualRealitySupported == false)
+            {
+                shouldInstall = UnityEditor.EditorUtility.DisplayDialogComplex("SteamVR", "Would you like to enable Virtual Reality mode?\n\nThis will enable Virtual Reality in Player Settings and add OpenVR as a target.", "Yes", "No, and don't ask again", "No");
+
+                switch (shouldInstall)
+                {
+                    case 0: //yes
+                        UnityEditor.PlayerSettings.virtualRealitySupported = true;
+                        break;
+                    case 1: //no:
+                        UnityEditor.EditorApplication.update -= Update;
+                        return;
+                    case 2: //no, don't ask
+                        SteamVR_Settings.instance.autoEnableVR = false;
+                        SteamVR_Settings.Save();
+                        UnityEditor.EditorApplication.update -= Update;
+                        return;
+                }
+            }
+
+            UnityEditor.BuildTargetGroup currentTarget = UnityEditor.EditorUserBuildSettings.selectedBuildTargetGroup;
+
+#if UNITY_5_6_OR_NEWER
+            string[] devices = UnityEditorInternal.VR.VREditor.GetVREnabledDevicesOnTargetGroup(currentTarget);
+#else
+            string[] devices = UnityEditorInternal.VR.VREditor.GetVREnabledDevices(currentTarget);
+#endif
+
+            bool hasOpenVR = devices.Any(device => string.Equals(device, openVRString, System.StringComparison.CurrentCultureIgnoreCase));
+
+            if (hasOpenVR == false || enabledVR)
+            {
+                string[] newDevices;
+                if (enabledVR && hasOpenVR == false)
+                {
+                    newDevices = new string[] { openVRString }; //only list openvr if we enabled it
+                }
+                else
+                {
+                    List<string> devicesList = new List<string>(devices); //list openvr as the first option if it wasn't in the list.
+                    if (hasOpenVR)
+                        devicesList.Remove(openVRString);
+
+                    devicesList.Insert(0, openVRString);
+                    newDevices = devicesList.ToArray();
+                }
+
+                int shouldEnable = -1;
+                if (shouldInstall == 0)
+                    shouldEnable = 0;
+                else
+                    shouldEnable = UnityEditor.EditorUtility.DisplayDialogComplex("SteamVR", "Would you like to enable OpenVR as a VR target?", "Yes", "No, and don't ask again", "No");
+
+                switch (shouldEnable)
+                {
+                    case 0: //yes
+#if UNITY_5_6_OR_NEWER
+                        UnityEditorInternal.VR.VREditor.SetVREnabledDevicesOnTargetGroup(currentTarget, newDevices);
+#else
+                        UnityEditorInternal.VR.VREditor.SetVREnabledDevices(currentTarget, newDevices);
+#endif
+                        Debug.Log("<b>[SteamVR Setup]</b> Added OpenVR to supported VR SDKs list."); 
+                        break;
+                    case 1: //no:
+                        break;
+                    case 2: //no, don't ask
+                        SteamVR_Settings.instance.autoEnableVR = false;
+                        SteamVR_Settings.Save();
+                        break;
+                }
+
+            }
+
+            UnityEditor.EditorApplication.update -= Update;
+
+        }
+    }
+}
+#endif

+ 11 - 0
Assets/SteamVR/Editor/SteamVR_AutoEnableVR_5.4to2018.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f3c98d5dbcd01ee4ba302d8f71a8d55a
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 6 - 0
Assets/SteamVR/Input/Editor/SteamVR_Input_EditorWindow.cs

@@ -293,6 +293,7 @@ namespace Valve.VR
                 SteamVR_CopyExampleInputFiles.CopyFiles(true);
                 System.Threading.Thread.Sleep(1000);
                 bool initializeSuccess = SteamVR_Input.InitializeFile();
+                EditorApplication.delayCall += SaveFile; 
                 return initializeSuccess;
             }
             else
@@ -683,9 +684,12 @@ namespace Valve.VR
             EditorGUILayout.EndFadeGroup();
         }
 
+        private Vector2 setScrollPosition;
         private void DrawSets()
         {
             EditorGUILayout.LabelField("Action Sets", headerLabelStyle);
+
+            setScrollPosition = EditorGUILayout.BeginScrollView(setScrollPosition);
             EditorGUILayout.BeginHorizontal();
 
             GUILayout.FlexibleSpace();
@@ -796,6 +800,8 @@ namespace Valve.VR
             GUILayout.FlexibleSpace();
 
             EditorGUILayout.EndHorizontal();
+
+            EditorGUILayout.EndScrollView();
         }
 
         private static MemberInfo GetMemberInfo<TModel, TItem>(TModel model, Expression<Func<TModel, TItem>> expr)

+ 8 - 15
Assets/SteamVR/Input/Editor/SteamVR_Input_PostProcessBuild.cs

@@ -25,29 +25,22 @@ namespace Valve.VR
 
                 if (stringStart == -1)
                 {
-                    findString = findString.Replace(" ", "");
-                    stringStart = jsonText.IndexOf(findString);
 
-                    if (stringStart == -1)
-                        return; //no app key
                 }
+                else
+                    return; //no app key
 
                 stringStart += findString.Length;
-                int stringEnd = jsonText.IndexOf("\"", stringStart);
+                int stringEnd = jsonText.IndexOf(",", stringStart + findString.Length);
 
-                int stringLength = stringEnd - stringStart;
+                int stringLength = stringEnd - stringStart + 1;
 
-                string currentAppKey = jsonText.Substring(stringStart, stringLength);
+                string removed = jsonText.Remove(stringStart, stringLength);
 
-                if (string.Equals(currentAppKey, SteamVR_Settings.instance.editorAppKey, System.StringComparison.CurrentCultureIgnoreCase) == false)
-                {
-                    jsonText = jsonText.Replace(currentAppKey, SteamVR_Settings.instance.editorAppKey);
-
-                    FileInfo file = new FileInfo(newFilePath);
-                    file.IsReadOnly = false;
+                FileInfo file = new FileInfo(newFilePath);
+                file.IsReadOnly = false;
 
-                    File.WriteAllText(newFilePath, jsonText);
-                }
+                File.WriteAllText(newFilePath, removed);
             }
         }
     }

+ 10 - 0
Assets/SteamVR/Input/Editor/SteamVR_Skeleton_PoserEditor.cs

@@ -85,6 +85,8 @@ namespace Valve.VR
             }
         }
 
+        private static bool previewErrorThrown = false;
+
         protected void UpdatePreviewHand(SerializedProperty instanceProperty, SerializedProperty showPreviewProperty, GameObject previewPrefab, SteamVR_Skeleton_Pose_Hand handData, SteamVR_Skeleton_Pose sourcePose, bool forceUpdate)
         {
             GameObject preview = instanceProperty.objectReferenceValue as GameObject;
@@ -99,6 +101,14 @@ namespace Valve.VR
 
                 if (preview == null)
                 {
+                    if (previewPrefab == null)
+                    {
+                        if (previewErrorThrown == false)
+                            Debug.LogError("hand preview not found. Verify SteamVRSettings.previewHandLeft and previewHandRight are set to valid prefabs.");
+                        previewErrorThrown = true;
+                        return;
+                    }
+
                     preview = GameObject.Instantiate<GameObject>(previewPrefab);
                     preview.transform.localScale = Vector3.one * poserScale.floatValue;
                     preview.transform.parent = poser.transform;

+ 115 - 14
Assets/SteamVR/Input/Plugins/JSON.NET/Valve.Newtonsoft.Json.dll.meta

@@ -1,24 +1,125 @@
 fileFormatVersion: 2
-guid: 02d88905ea77cb74493cd26bf096eb24
-timeCreated: 1521152335
+guid: ecd6084c4cbb53b489cc833eee6f0035
+timeCreated: 1609279526
 licenseType: Store
 PluginImporter:
-  serializedVersion: 1
+  serializedVersion: 2
   iconMap: {}
   executionOrder: {}
   isPreloaded: 0
+  isOverridable: 0
   platformData:
-    Any:
-      enabled: 1
-      settings: {}
-    Editor:
-      enabled: 0
-      settings:
-        DefaultValueInitialized: true
-    WindowsStoreApps:
-      enabled: 0
-      settings:
-        CPU: AnyCPU
+    data:
+      first:
+        '': Any
+      second:
+        enabled: 0
+        settings:
+          Exclude Editor: 0
+          Exclude Linux: 0
+          Exclude Linux64: 0
+          Exclude LinuxUniversal: 0
+          Exclude OSXIntel: 0
+          Exclude OSXIntel64: 0
+          Exclude OSXUniversal: 0
+          Exclude Win: 0
+          Exclude Win64: 0
+    data:
+      first:
+        '': Editor
+      second:
+        enabled: 0
+        settings:
+          CPU: AnyCPU
+          OS: AnyOS
+    data:
+      first:
+        Any: 
+      second:
+        enabled: 0
+        settings: {}
+    data:
+      first:
+        Editor: Editor
+      second:
+        enabled: 1
+        settings:
+          DefaultValueInitialized: true
+    data:
+      first:
+        Facebook: Win
+      second:
+        enabled: 0
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        Facebook: Win64
+      second:
+        enabled: 0
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        Standalone: Linux
+      second:
+        enabled: 1
+        settings:
+          CPU: x86
+    data:
+      first:
+        Standalone: Linux64
+      second:
+        enabled: 1
+        settings:
+          CPU: x86_64
+    data:
+      first:
+        Standalone: LinuxUniversal
+      second:
+        enabled: 1
+        settings: {}
+    data:
+      first:
+        Standalone: OSXIntel
+      second:
+        enabled: 1
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        Standalone: OSXIntel64
+      second:
+        enabled: 1
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        Standalone: OSXUniversal
+      second:
+        enabled: 1
+        settings: {}
+    data:
+      first:
+        Standalone: Win
+      second:
+        enabled: 1
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        Standalone: Win64
+      second:
+        enabled: 1
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        Windows Store Apps: WindowsStoreApps
+      second:
+        enabled: 0
+        settings:
+          CPU: AnyCPU
   userData: 
   assetBundleName: 
   assetBundleVariant: 

+ 40 - 0
Assets/SteamVR/Input/SteamVR_Action_Boolean.cs

@@ -213,6 +213,14 @@ namespace Valve.VR
             sourceMap[inputSource].onStateUp -= functionToStopCalling;
         }
 
+        /// <summary>
+        /// Remove all listeners registered in the source, useful for Dispose pattern
+        /// </summary>
+        public void RemoveAllListeners(SteamVR_Input_Sources input_Sources)
+        {
+            sourceMap[input_Sources].RemoveAllListeners();
+        }
+
         void ISerializationCallbackReceiver.OnBeforeSerialize()
         {
         }
@@ -340,6 +348,38 @@ namespace Valve.VR
 
         }
 
+        /// <summary>
+        /// Remove all listeners, useful for Dispose pattern
+        /// </summary>
+        public void RemoveAllListeners()
+        {
+            Delegate[] delegates;
+
+            if (onStateDown != null)
+            {
+                delegates = onStateDown.GetInvocationList();
+                if (delegates != null)
+                    foreach (Delegate existingDelegate in delegates)
+                        onStateDown -= (SteamVR_Action_Boolean.StateDownHandler)existingDelegate;
+            }
+
+            if (onStateUp != null)
+            {
+                delegates = onStateUp.GetInvocationList();
+                if (delegates != null)
+                    foreach (Delegate existingDelegate in delegates)
+                        onStateUp -= (SteamVR_Action_Boolean.StateUpHandler)existingDelegate;
+            }
+
+            if (onState != null)
+            {
+                delegates = onState.GetInvocationList();
+                if (delegates != null)
+                    foreach (Delegate existingDelegate in delegates)
+                        onState -= (SteamVR_Action_Boolean.StateHandler)existingDelegate;
+            }
+        }
+
         /// <summary><strong>[Should not be called by user code]</strong>
         /// Updates the data for this action and this input source. Sends related events.
         /// </summary>

+ 65 - 0
Assets/SteamVR/Input/SteamVR_Action_Pose.cs

@@ -150,6 +150,14 @@ namespace Valve.VR
             sourceMap[inputSource].onUpdate -= functionToStopCalling;
         }
 
+        /// <summary>
+        /// Removes all listeners, useful for dispose pattern
+        /// </summary>
+        public void RemoveAllListeners(SteamVR_Input_Sources input_Sources)
+        {
+            sourceMap[input_Sources].RemoveAllListeners();
+        }
+
         void ISerializationCallbackReceiver.OnBeforeSerialize() { }
 
         void ISerializationCallbackReceiver.OnAfterDeserialize()
@@ -545,6 +553,63 @@ namespace Valve.VR
                 poseActionData_size = (uint)Marshal.SizeOf(typeof(InputPoseActionData_t));
         }
 
+        /// <summary>
+        /// Removes all listeners, useful for dispose pattern
+        /// </summary>
+        public virtual void RemoveAllListeners()
+        {
+
+            Delegate[] delegates;
+
+            if (onActiveChange != null)
+            {
+                delegates = onActiveChange.GetInvocationList();
+                if (delegates != null)
+                    foreach (Delegate existingDelegate in delegates)
+                        onActiveChange -= (SteamVR_Action_Pose.ActiveChangeHandler)existingDelegate;
+            }
+
+            if (onChange != null)
+            {
+                delegates = onChange.GetInvocationList();
+                if (delegates != null)
+                    foreach (Delegate existingDelegate in delegates)
+                        onChange -= (SteamVR_Action_Pose.ChangeHandler)existingDelegate;
+            }
+
+            if (onUpdate != null)
+            {
+                delegates = onUpdate.GetInvocationList();
+                if (delegates != null)
+                    foreach (Delegate existingDelegate in delegates)
+                        onUpdate -= (SteamVR_Action_Pose.UpdateHandler)existingDelegate;
+            }
+
+            if (onTrackingChanged != null)
+            {
+                delegates = onTrackingChanged.GetInvocationList();
+                if (delegates != null)
+                    foreach (Delegate existingDelegate in delegates)
+                        onTrackingChanged -= (SteamVR_Action_Pose.TrackingChangeHandler)existingDelegate;
+            }
+
+            if (onValidPoseChanged != null)
+            {
+                delegates = onValidPoseChanged.GetInvocationList();
+                if (delegates != null)
+                    foreach (Delegate existingDelegate in delegates)
+                        onValidPoseChanged -= (SteamVR_Action_Pose.ValidPoseChangeHandler)existingDelegate;
+            }
+
+            if (onDeviceConnectedChanged != null)
+            {
+                delegates = onDeviceConnectedChanged.GetInvocationList();
+                if (delegates != null)
+                    foreach (Delegate existingDelegate in delegates)
+                        onDeviceConnectedChanged -= (SteamVR_Action_Pose.DeviceConnectedChangeHandler)existingDelegate;
+            }
+        }
+
         /// <summary><strong>[Should not be called by user code]</strong>
         /// Updates the data for this action and this input source. Sends related events.
         /// </summary>

+ 37 - 0
Assets/SteamVR/Input/SteamVR_Action_Single.cs

@@ -167,6 +167,11 @@ namespace Valve.VR
             sourceMap[inputSource].onAxis -= functionToStopCalling;
         }
 
+        public void RemoveAllListeners(SteamVR_Input_Sources inputSource)
+        {
+            sourceMap[inputSource].RemoveAllListeners();
+        }
+
         void ISerializationCallbackReceiver.OnBeforeSerialize()
         {
         }
@@ -283,6 +288,38 @@ namespace Valve.VR
                 actionData_size = (uint)Marshal.SizeOf(typeof(InputAnalogActionData_t));
         }
 
+        /// <summary>
+        /// Removes all listeners, useful for dispose pattern
+        /// </summary>
+        public void RemoveAllListeners()
+        {
+            Delegate[] delegates;
+
+            if (onAxis != null)
+            {
+                delegates = onAxis.GetInvocationList();
+                if (delegates != null)
+                    foreach (Delegate existingDelegate in delegates)
+                        onAxis -= (SteamVR_Action_Single.AxisHandler)existingDelegate;
+            }
+
+            if (onUpdate != null)
+            {
+                delegates = onUpdate.GetInvocationList();
+                if (delegates != null)
+                    foreach (Delegate existingDelegate in delegates)
+                        onUpdate -= (SteamVR_Action_Single.UpdateHandler)existingDelegate;
+            }
+
+            if (onChange != null)
+            {
+                delegates = onChange.GetInvocationList();
+                if (delegates != null)
+                    foreach (Delegate existingDelegate in delegates)
+                        onChange -= (SteamVR_Action_Single.ChangeHandler)existingDelegate;
+            }
+        }
+
         /// <summary><strong>[Should not be called by user code]</strong>
         /// Updates the data for this action and this input source. Sends related events.
         /// </summary>

Some files were not shown because too many files changed in this diff