Fixed compile errors caused due to game update.
Fixed compile errors caused due to game update.
Fixed asset bundle errors due to engine update.

 Binary files /dev/null and b/AssetBundles/AssetBundles differ
--- /dev/null
+++ b/AssetBundles/AssetBundles.manifest
@@ -1,1 +1,17 @@
+ManifestFileVersion: 0
+CRC: 1712066589
+AssetBundleManifest:
+  AssetBundleInfos:
+    Info_0:
+      Name: prefabs
+      Dependencies: {}
+    Info_1:
+      Name: images
+      Dependencies: {}
+    Info_2:
+      Name: squadcore
+      Dependencies: {}
+    Info_3:
+      Name: models
+      Dependencies: {}
 

 Binary files /dev/null and b/AssetBundles/images differ
--- /dev/null
+++ b/AssetBundles/images.manifest
@@ -1,1 +1,24 @@
+ManifestFileVersion: 0
+CRC: 1560231156
+Hashes:
+  AssetFileHash:
+    serializedVersion: 2
+    Hash: bc1f98c85ecf40ce6765621a08f9f657
+  TypeTreeHash:
+    serializedVersion: 2
+    Hash: 3a86b9bde1b930a56947f720531fa611
+HashAppended: 0
+ClassTypes:
+- Class: 28
+  Script: {instanceID: 0}
+- Class: 49
+  Script: {instanceID: 0}
+- Class: 213
+  Script: {instanceID: 0}
+Assets:
+- Assets/XML/images_bundle.xml
+- Assets/Images/ui-drop-down.psd
+- Assets/Images/app-launcher-icon.psd
+- Assets/Images/flight-menu-background.psd
+Dependencies: []
 

 Binary files /dev/null and b/AssetBundles/models differ
--- /dev/null
+++ b/AssetBundles/models.manifest
@@ -1,1 +1,17 @@
+ManifestFileVersion: 0
+CRC: 925255569
+Hashes:
+  AssetFileHash:
+    serializedVersion: 2
+    Hash: 7ab3c34760811e8a656f73c6e9197731
+  TypeTreeHash:
+    serializedVersion: 2
+    Hash: 1033bf7ddfd4c6d43e7a6382c0a0a61a
+HashAppended: 0
+ClassTypes:
+- Class: 49
+  Script: {instanceID: 0}
+Assets:
+- Assets/XML/models_bundle.xml
+Dependencies: []
 

 Binary files /dev/null and b/AssetBundles/prefabs differ
--- /dev/null
+++ b/AssetBundles/prefabs.manifest
@@ -1,1 +1,69 @@
+ManifestFileVersion: 0
+CRC: 2968365130
+Hashes:
+  AssetFileHash:
+    serializedVersion: 2
+    Hash: 02a2d09886efb9a467857320aea9167f
+  TypeTreeHash:
+    serializedVersion: 2
+    Hash: f34bf2aa2d8f763a2a8ef79868dfc1b4
+HashAppended: 0
+ClassTypes:
+- Class: 1
+  Script: {instanceID: 0}
+- Class: 21
+  Script: {instanceID: 0}
+- Class: 28
+  Script: {instanceID: 0}
+- Class: 48
+  Script: {instanceID: 0}
+- Class: 49
+  Script: {instanceID: 0}
+- Class: 114
+  Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+  Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+  Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+  Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+  Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+  Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+  Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+  Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+  Script: {fileID: 571159103, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+- Class: 114
+  Script: {fileID: -1842827791, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+- Class: 114
+  Script: {fileID: 644905346, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+- Class: 114
+  Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+- Class: 114
+  Script: {fileID: 604723565, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+- Class: 115
+  Script: {instanceID: 0}
+- Class: 128
+  Script: {instanceID: 0}
+- Class: 213
+  Script: {instanceID: 0}
+- Class: 222
+  Script: {instanceID: 0}
+- Class: 224
+  Script: {instanceID: 0}
+- Class: 225
+  Script: {instanceID: 0}
+Assets:
+- Assets/Prefabs/Setting.prefab
+- Assets/Prefabs/SettingToggle.prefab
+- Assets/XML/prefabs_bundle.xml
+- Assets/Prefabs/SettingButton.prefab
+- Assets/Prefabs/FlightMenuSection.prefab
+- Assets/Prefabs/FlightMenu.prefab
+- Assets/Prefabs/Window.prefab
+Dependencies: []
 

--- a/Assets/PartTools/Lib/PartTools.dll.meta
+++ b/Assets/PartTools/Lib/PartTools.dll.meta
@@ -13,6 +13,10 @@
       enabled: 0
       settings:
         DefaultValueInitialized: true
+    WindowsStoreApps:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
   userData: 
   assetBundleName: 
   assetBundleVariant: 

--- a/Assets/PartTools/Lib/PartToolsEditor.dll.meta
+++ b/Assets/PartTools/Lib/PartToolsEditor.dll.meta
@@ -13,6 +13,10 @@
       enabled: 0
       settings:
         DefaultValueInitialized: true
+    WindowsStoreApps:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
   userData: 
   assetBundleName: 
   assetBundleVariant: 

--- a/Assets/PartTools/Shaders/ParticleAdditiveFresnel.shader
+++ b/Assets/PartTools/Shaders/ParticleAdditiveFresnel.shader
@@ -1,3 +1,5 @@
+// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'
+
 // Shader created with Shader Forge v1.18 
 // Shader Forge (c) Neat Corporation / Joachim Holmer - http://www.acegikmo.com/shaderforge/
 // Note: Manually altering this data may prevent you from opening it in Shader Forge
@@ -55,7 +57,7 @@
                 o.uv0 = v.texcoord0;
                 o.vertexColor = v.vertexColor;
                 o.normalDir = UnityObjectToWorldNormal(v.normal);
-                o.posWorld = mul(_Object2World, v.vertex);
+                o.posWorld = mul(unity_ObjectToWorld, v.vertex);
                 o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
                 UNITY_TRANSFER_FOG(o,o.pos);
                 return o;

--- a/Assets/Plugins/KSPAssets/KSPAssets.dll.meta
+++ b/Assets/Plugins/KSPAssets/KSPAssets.dll.meta
@@ -15,6 +15,10 @@
       enabled: 0
       settings:
         DefaultValueInitialized: true
+    WindowsStoreApps:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
   userData: 
   assetBundleName: 
   assetBundleVariant: 

 Binary files a/Assets/Plugins/KerbalEngineer.Unity.dll and b/Assets/Plugins/KerbalEngineer.Unity.dll differ
--- a/Assets/Plugins/KerbalEngineer.Unity.dll.meta
+++ b/Assets/Plugins/KerbalEngineer.Unity.dll.meta
@@ -15,6 +15,10 @@
       enabled: 0
       settings:
         DefaultValueInitialized: true
+    WindowsStoreApps:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
   userData: 
   assetBundleName: 
   assetBundleVariant: 

--- a/Assets/Prefabs/FlightMenu.prefab
+++ b/Assets/Prefabs/FlightMenu.prefab
@@ -262,7 +262,7 @@
   m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_ElementType: 1
+  elementType: 1
 --- !u!114 &11400468
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -283,11 +283,11 @@
   m_Transition: 0
   m_Colors:
     m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
-    m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1}
-    m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1}
-    m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
     m_ColorMultiplier: 1
-    m_FadeDuration: .100000001
+    m_FadeDuration: 0.1
   m_SpriteState:
     m_HighlightedSprite: {fileID: 0}
     m_PressedSprite: {fileID: 0}
@@ -346,6 +346,7 @@
     m_MinSize: 10
     m_MaxSize: 40
     m_Alignment: 4
+    m_AlignByGeometry: 0
     m_RichText: 1
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
@@ -389,12 +390,12 @@
   m_Script: {fileID: 571159103, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_ShowEngineerToggle: {fileID: 11489252}
-  m_ControlBarToggle: {fileID: 11400468}
-  m_MenuSectionPrefab: {fileID: 130812, guid: 2147dc5ac8aa16a4ca2003dfcd024533, type: 2}
-  m_SectionsTransform: {fileID: 22435482}
-  m_FastFadeDuration: .200000003
-  m_SlowFadeDuration: .200000003
+  showEngineerToggle: {fileID: 11489252}
+  controlBarToggle: {fileID: 11400468}
+  menuSectionPrefab: {fileID: 130812, guid: 2147dc5ac8aa16a4ca2003dfcd024533, type: 2}
+  sectionsTransform: {fileID: 22435482}
+  fastFadeDuration: 0.2
+  slowFadeDuration: 1
 --- !u!114 &11420706
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -415,11 +416,11 @@
   m_Transition: 0
   m_Colors:
     m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
-    m_HighlightedColor: {r: .467545569, g: 1, b: .448529422, a: 1}
-    m_PressedColor: {r: .800000072, g: 1, b: 0, a: 1}
-    m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814}
+    m_HighlightedColor: {r: 0.46754557, g: 1, b: 0.44852942, a: 1}
+    m_PressedColor: {r: 0.8000001, g: 1, b: 0, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
     m_ColorMultiplier: 1
-    m_FadeDuration: .100000001
+    m_FadeDuration: 0.1
   m_SpriteState:
     m_HighlightedSprite: {fileID: 0}
     m_PressedSprite: {fileID: 0}
@@ -492,7 +493,7 @@
   m_Name: 
   m_EditorClassIdentifier: 
   m_Material: {fileID: 0}
-  m_Color: {r: .800000072, g: 1, b: 0, a: 1}
+  m_Color: {r: 0.8000001, g: 1, b: 0, a: 1}
   m_RaycastTarget: 0
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -507,6 +508,7 @@
     m_MinSize: 10
     m_MaxSize: 40
     m_Alignment: 3
+    m_AlignByGeometry: 0
     m_RichText: 0
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
@@ -652,7 +654,7 @@
   m_Name: 
   m_EditorClassIdentifier: 
   m_Material: {fileID: 0}
-  m_Color: {r: .600000024, g: .600000024, b: .600000024, a: .784313738}
+  m_Color: {r: 0.6, g: 0.6, b: 0.6, a: 0.78431374}
   m_RaycastTarget: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -694,6 +696,7 @@
     m_MinSize: 10
     m_MaxSize: 40
     m_Alignment: 4
+    m_AlignByGeometry: 0
     m_RichText: 1
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
@@ -726,6 +729,7 @@
     m_MinSize: 10
     m_MaxSize: 40
     m_Alignment: 4
+    m_AlignByGeometry: 0
     m_RichText: 1
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
@@ -769,7 +773,7 @@
   m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_ElementType: 1
+  elementType: 1
 --- !u!114 &11482140
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -781,7 +785,7 @@
   m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_ElementType: 3
+  elementType: 3
 --- !u!114 &11482720
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -793,7 +797,7 @@
   m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_ElementType: 4
+  elementType: 4
 --- !u!114 &11483870
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -805,7 +809,7 @@
   m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_ElementType: 4
+  elementType: 4
 --- !u!114 &11483978
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -859,11 +863,11 @@
   m_Transition: 0
   m_Colors:
     m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
-    m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1}
-    m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1}
-    m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
     m_ColorMultiplier: 1
-    m_FadeDuration: .100000001
+    m_FadeDuration: 0.1
   m_SpriteState:
     m_HighlightedSprite: {fileID: 0}
     m_PressedSprite: {fileID: 0}
@@ -1030,6 +1034,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children:
   - {fileID: 22444606}
   m_Father: {fileID: 22475412}
@@ -1038,7 +1043,7 @@
   m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22401786
 RectTransform:
   m_ObjectHideFlags: 1
@@ -1048,6 +1053,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 22483410}
   m_RootOrder: 0
@@ -1055,7 +1061,7 @@
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 2.5, y: 0}
   m_SizeDelta: {x: -5, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22409936
 RectTransform:
   m_ObjectHideFlags: 1
@@ -1065,6 +1071,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 22469574}
   m_RootOrder: 1
@@ -1072,7 +1079,7 @@
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22411946
 RectTransform:
   m_ObjectHideFlags: 1
@@ -1082,6 +1089,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 22468796}
   m_RootOrder: 1
@@ -1089,7 +1097,7 @@
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22435482
 RectTransform:
   m_ObjectHideFlags: 1
@@ -1099,6 +1107,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 22475412}
   m_RootOrder: 1
@@ -1106,7 +1115,7 @@
   m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22444606
 RectTransform:
   m_ObjectHideFlags: 1
@@ -1116,6 +1125,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 22401100}
   m_RootOrder: 0
@@ -1123,7 +1133,7 @@
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22454998
 RectTransform:
   m_ObjectHideFlags: 1
@@ -1133,6 +1143,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 22468796}
   m_RootOrder: 0
@@ -1140,7 +1151,7 @@
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22463980
 RectTransform:
   m_ObjectHideFlags: 1
@@ -1150,6 +1161,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 22469574}
   m_RootOrder: 0
@@ -1157,7 +1169,7 @@
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22468796
 RectTransform:
   m_ObjectHideFlags: 1
@@ -1167,16 +1179,17 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children:
   - {fileID: 22454998}
   - {fileID: 22411946}
   m_Father: {fileID: 22478174}
   m_RootOrder: 1
-  m_AnchorMin: {x: .5, y: 0}
+  m_AnchorMin: {x: 0.5, y: 0}
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 1, y: 0}
   m_SizeDelta: {x: -2, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22469574
 RectTransform:
   m_ObjectHideFlags: 1
@@ -1186,16 +1199,17 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children:
   - {fileID: 22463980}
   - {fileID: 22409936}
   m_Father: {fileID: 22478174}
   m_RootOrder: 0
   m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: .5, y: 1}
+  m_AnchorMax: {x: 0.5, y: 1}
   m_AnchoredPosition: {x: -1, y: 0}
   m_SizeDelta: {x: -2, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22475412
 RectTransform:
   m_ObjectHideFlags: 1
@@ -1205,6 +1219,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children:
   - {fileID: 22478174}
   - {fileID: 22435482}
@@ -1215,7 +1230,7 @@
   m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22476196
 RectTransform:
   m_ObjectHideFlags: 1
@@ -1225,13 +1240,14 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children:
   - {fileID: 22483410}
   - {fileID: 22475412}
   m_Father: {fileID: 0}
   m_RootOrder: 0
-  m_AnchorMin: {x: .5, y: .5}
-  m_AnchorMax: {x: .5, y: .5}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 250, y: 0}
   m_Pivot: {x: 1, y: 0}
@@ -1244,6 +1260,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children:
   - {fileID: 22469574}
   - {fileID: 22468796}
@@ -1253,7 +1270,7 @@
   m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22483410
 RectTransform:
   m_ObjectHideFlags: 1
@@ -1263,6 +1280,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children:
   - {fileID: 22401786}
   m_Father: {fileID: 22476196}
@@ -1271,7 +1289,7 @@
   m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: 1}
+  m_Pivot: {x: 0.5, y: 1}
 --- !u!225 &22567868
 CanvasGroup:
   m_ObjectHideFlags: 1

--- a/Assets/Prefabs/FlightMenuSection.prefab
+++ b/Assets/Prefabs/FlightMenuSection.prefab
@@ -134,7 +134,7 @@
   m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_ElementType: 4
+  elementType: 4
 --- !u!114 &11408784
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -162,6 +162,7 @@
     m_MinSize: 10
     m_MaxSize: 40
     m_Alignment: 4
+    m_AlignByGeometry: 0
     m_RichText: 1
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
@@ -178,7 +179,7 @@
   m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_ElementType: 4
+  elementType: 4
 --- !u!114 &11418436
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -226,11 +227,11 @@
   m_Transition: 0
   m_Colors:
     m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
-    m_HighlightedColor: {r: .467545569, g: 1, b: .448529422, a: 1}
-    m_PressedColor: {r: .800000072, g: 1, b: 0, a: 1}
-    m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814}
+    m_HighlightedColor: {r: 0.46754557, g: 1, b: 0.44852942, a: 1}
+    m_PressedColor: {r: 0.8000001, g: 1, b: 0, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
     m_ColorMultiplier: 1
-    m_FadeDuration: .100000001
+    m_FadeDuration: 0.1
   m_SpriteState:
     m_HighlightedSprite: {fileID: 0}
     m_PressedSprite: {fileID: 0}
@@ -300,11 +301,11 @@
   m_Transition: 0
   m_Colors:
     m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
-    m_HighlightedColor: {r: .467545569, g: 1, b: .448529422, a: 1}
-    m_PressedColor: {r: .800000072, g: 1, b: 0, a: 1}
-    m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814}
+    m_HighlightedColor: {r: 0.46754557, g: 1, b: 0.44852942, a: 1}
+    m_PressedColor: {r: 0.8000001, g: 1, b: 0, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
     m_ColorMultiplier: 1
-    m_FadeDuration: .100000001
+    m_FadeDuration: 0.1
   m_SpriteState:
     m_HighlightedSprite: {fileID: 0}
     m_PressedSprite: {fileID: 0}
@@ -417,6 +418,7 @@
     m_MinSize: 10
     m_MaxSize: 40
     m_Alignment: 4
+    m_AlignByGeometry: 0
     m_RichText: 1
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
@@ -460,9 +462,9 @@
   m_Script: {fileID: -1842827791, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_DisplayToggle: {fileID: 11436568}
-  m_DisplayText: {fileID: 11408784}
-  m_EditToggle: {fileID: 11421724}
+  displayToggle: {fileID: 11436568}
+  displayText: {fileID: 11408784}
+  editToggle: {fileID: 11421724}
 --- !u!222 &22219086
 CanvasRenderer:
   m_ObjectHideFlags: 1
@@ -508,16 +510,17 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children:
   - {fileID: 22446728}
   - {fileID: 22485856}
   m_Father: {fileID: 22478272}
   m_RootOrder: 0
   m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: .75, y: 1}
+  m_AnchorMax: {x: 0.75, y: 1}
   m_AnchoredPosition: {x: -1, y: 0}
   m_SizeDelta: {x: -2, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22444842
 RectTransform:
   m_ObjectHideFlags: 1
@@ -527,16 +530,17 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children:
   - {fileID: 22469204}
   - {fileID: 22483442}
   m_Father: {fileID: 22478272}
   m_RootOrder: 1
-  m_AnchorMin: {x: .75, y: 0}
+  m_AnchorMin: {x: 0.75, y: 0}
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 1, y: 0}
   m_SizeDelta: {x: -2, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22446728
 RectTransform:
   m_ObjectHideFlags: 1
@@ -546,6 +550,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 22409126}
   m_RootOrder: 0
@@ -553,7 +558,7 @@
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22469204
 RectTransform:
   m_ObjectHideFlags: 1
@@ -563,6 +568,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 22444842}
   m_RootOrder: 0
@@ -570,7 +576,7 @@
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22478272
 RectTransform:
   m_ObjectHideFlags: 1
@@ -580,6 +586,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children:
   - {fileID: 22409126}
   - {fileID: 22444842}
@@ -589,7 +596,7 @@
   m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22483442
 RectTransform:
   m_ObjectHideFlags: 1
@@ -599,6 +606,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 22444842}
   m_RootOrder: 1
@@ -606,7 +614,7 @@
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22485856
 RectTransform:
   m_ObjectHideFlags: 1
@@ -616,6 +624,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 22409126}
   m_RootOrder: 1
@@ -623,7 +632,7 @@
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!1001 &100100000
 Prefab:
   m_ObjectHideFlags: 1

--- a/Assets/Prefabs/Setting.prefab
+++ b/Assets/Prefabs/Setting.prefab
@@ -77,6 +77,7 @@
     m_MinSize: 10
     m_MaxSize: 40
     m_Alignment: 3
+    m_AlignByGeometry: 0
     m_RichText: 0
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
@@ -111,12 +112,10 @@
   m_Script: {fileID: 644905346, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_Label: {fileID: 11446448}
-  m_ButtonsTransform: {fileID: 22432972}
-  m_SettingButtonPrefab: {fileID: 168214, guid: 345debd9876196a4e95d8718febe5301,
-    type: 2}
-  m_SettingTogglePrefab: {fileID: 153220, guid: b0b78ee2755669241a6e82c70b5988cf,
-    type: 2}
+  label: {fileID: 11446448}
+  buttonsTransform: {fileID: 22432972}
+  settingButtonPrefab: {fileID: 168214, guid: 345debd9876196a4e95d8718febe5301, type: 2}
+  settingTogglePrefab: {fileID: 153220, guid: b0b78ee2755669241a6e82c70b5988cf, type: 2}
 --- !u!114 &11476120
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -152,6 +151,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 22475724}
   m_RootOrder: 1
@@ -159,7 +159,7 @@
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: 1, y: .5}
+  m_Pivot: {x: 1, y: 0.5}
 --- !u!224 &22457826
 RectTransform:
   m_ObjectHideFlags: 1
@@ -169,33 +169,35 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 22475724}
   m_RootOrder: 0
   m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: .5, y: 1}
+  m_AnchorMax: {x: 0.5, y: 1}
   m_AnchoredPosition: {x: 2.5, y: 0}
   m_SizeDelta: {x: -5, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22475724
 RectTransform:
   m_ObjectHideFlags: 1
   m_PrefabParentObject: {fileID: 0}
   m_PrefabInternal: {fileID: 100100000}
   m_GameObject: {fileID: 139342}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children:
   - {fileID: 22457826}
   - {fileID: 22432972}
   m_Father: {fileID: 0}
   m_RootOrder: 0
-  m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 0, y: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_SizeDelta: {x: 100, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!1001 &100100000
 Prefab:
   m_ObjectHideFlags: 1

--- a/Assets/Prefabs/SettingButton.prefab
+++ b/Assets/Prefabs/SettingButton.prefab
@@ -64,6 +64,7 @@
     m_MinSize: 10
     m_MaxSize: 40
     m_Alignment: 4
+    m_AlignByGeometry: 0
     m_RichText: 0
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
@@ -89,11 +90,11 @@
   m_Transition: 0
   m_Colors:
     m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
-    m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1}
-    m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1}
-    m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
     m_ColorMultiplier: 1
-    m_FadeDuration: .100000001
+    m_FadeDuration: 0.1
   m_SpriteState:
     m_HighlightedSprite: {fileID: 0}
     m_PressedSprite: {fileID: 0}
@@ -121,7 +122,7 @@
   m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_ElementType: 3
+  elementType: 3
 --- !u!114 &11431978
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -188,6 +189,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children:
   - {fileID: 22434708}
   m_Father: {fileID: 0}
@@ -196,7 +198,7 @@
   m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22434708
 RectTransform:
   m_ObjectHideFlags: 1
@@ -206,6 +208,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 22424224}
   m_RootOrder: 0
@@ -213,7 +216,7 @@
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!1001 &100100000
 Prefab:
   m_ObjectHideFlags: 1

--- a/Assets/Prefabs/SettingToggle.prefab
+++ b/Assets/Prefabs/SettingToggle.prefab
@@ -119,11 +119,11 @@
   m_Transition: 0
   m_Colors:
     m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
-    m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1}
-    m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1}
-    m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
     m_ColorMultiplier: 1
-    m_FadeDuration: .100000001
+    m_FadeDuration: 0.1
   m_SpriteState:
     m_HighlightedSprite: {fileID: 0}
     m_PressedSprite: {fileID: 0}
@@ -198,6 +198,7 @@
     m_MinSize: 10
     m_MaxSize: 40
     m_Alignment: 4
+    m_AlignByGeometry: 0
     m_RichText: 0
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
@@ -214,7 +215,7 @@
   m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_ElementType: 4
+  elementType: 4
 --- !u!222 &22234250
 CanvasRenderer:
   m_ObjectHideFlags: 1
@@ -242,6 +243,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 22458510}
   m_RootOrder: 1
@@ -249,7 +251,7 @@
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22458510
 RectTransform:
   m_ObjectHideFlags: 1
@@ -259,6 +261,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children:
   - {fileID: 22471524}
   - {fileID: 22412684}
@@ -268,7 +271,7 @@
   m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22471524
 RectTransform:
   m_ObjectHideFlags: 1
@@ -278,6 +281,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 22458510}
   m_RootOrder: 0
@@ -285,7 +289,7 @@
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!1001 &100100000
 Prefab:
   m_ObjectHideFlags: 1

--- a/Assets/Prefabs/Window.prefab
+++ b/Assets/Prefabs/Window.prefab
@@ -142,8 +142,8 @@
   m_Script: {fileID: 604723565, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_Title: {fileID: 11464580}
-  m_Content: {fileID: 22456320}
+  title: {fileID: 11464580}
+  content: {fileID: 22456320}
 --- !u!114 &11403752
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -232,7 +232,7 @@
   m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_ElementType: 1
+  elementType: 1
 --- !u!114 &11454192
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -287,6 +287,7 @@
     m_MinSize: 10
     m_MaxSize: 40
     m_Alignment: 4
+    m_AlignByGeometry: 0
     m_RichText: 0
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
@@ -304,7 +305,7 @@
   m_Name: 
   m_EditorClassIdentifier: 
   m_Material: {fileID: 0}
-  m_Color: {r: .600000024, g: .600000024, b: .600000024, a: .784313738}
+  m_Color: {r: 0.6, g: 0.6, b: 0.6, a: 0.78431374}
   m_RaycastTarget: 1
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -351,7 +352,7 @@
   m_Name: 
   m_EditorClassIdentifier: 
   m_Material: {fileID: 0}
-  m_Color: {r: .800000072, g: 1, b: 0, a: 1}
+  m_Color: {r: 0.8000001, g: 1, b: 0, a: 1}
   m_RaycastTarget: 0
   m_OnCullStateChanged:
     m_PersistentCalls:
@@ -366,6 +367,7 @@
     m_MinSize: 10
     m_MaxSize: 40
     m_Alignment: 3
+    m_AlignByGeometry: 0
     m_RichText: 0
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
@@ -436,7 +438,7 @@
   m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_ElementType: 1
+  elementType: 1
 --- !u!114 &11478236
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -448,7 +450,7 @@
   m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_ElementType: 3
+  elementType: 3
 --- !u!114 &11481312
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -489,11 +491,11 @@
   m_Transition: 0
   m_Colors:
     m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
-    m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1}
-    m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1}
-    m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
     m_ColorMultiplier: 1
-    m_FadeDuration: .100000001
+    m_FadeDuration: 0.1
   m_SpriteState:
     m_HighlightedSprite: {fileID: 0}
     m_PressedSprite: {fileID: 0}
@@ -532,7 +534,7 @@
   m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_ElementType: 2
+  elementType: 2
 --- !u!222 &22224666
 CanvasRenderer:
   m_ObjectHideFlags: 1
@@ -578,6 +580,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 22498172}
   m_RootOrder: 0
@@ -585,7 +588,7 @@
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22447524
 RectTransform:
   m_ObjectHideFlags: 1
@@ -595,15 +598,16 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children:
   - {fileID: 22456320}
   m_Father: {fileID: 22461526}
   m_RootOrder: 1
-  m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 0, y: 0}
-  m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 50, y: -30}
+  m_SizeDelta: {x: 100, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22456320
 RectTransform:
   m_ObjectHideFlags: 1
@@ -613,6 +617,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 22447524}
   m_RootOrder: 0
@@ -620,7 +625,7 @@
   m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22461526
 RectTransform:
   m_ObjectHideFlags: 1
@@ -630,16 +635,17 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children:
   - {fileID: 22465080}
   - {fileID: 22447524}
   m_Father: {fileID: 0}
   m_RootOrder: 0
-  m_AnchorMin: {x: .5, y: .5}
-  m_AnchorMax: {x: .5, y: .5}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 100, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22465080
 RectTransform:
   m_ObjectHideFlags: 1
@@ -649,6 +655,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children:
   - {fileID: 22474276}
   - {fileID: 22498172}
@@ -658,7 +665,7 @@
   m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: 1}
+  m_Pivot: {x: 0.5, y: 1}
 --- !u!224 &22474276
 RectTransform:
   m_ObjectHideFlags: 1
@@ -668,6 +675,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 22465080}
   m_RootOrder: 0
@@ -675,7 +683,7 @@
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 2.5, y: 0}
   m_SizeDelta: {x: -5, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &22498172
 RectTransform:
   m_ObjectHideFlags: 1
@@ -685,6 +693,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children:
   - {fileID: 22418124}
   m_Father: {fileID: 22465080}
@@ -693,7 +702,7 @@
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: -2, y: 0}
   m_SizeDelta: {x: 16, y: -4}
-  m_Pivot: {x: 1, y: .5}
+  m_Pivot: {x: 1, y: 0.5}
 --- !u!225 &22579498
 CanvasGroup:
   m_ObjectHideFlags: 1

--- a/Assets/Scenes/main.unity
+++ b/Assets/Scenes/main.unity
@@ -8,25 +8,25 @@
   m_PVSPortalsArray: []
   m_OcclusionBakeSettings:
     smallestOccluder: 5
-    smallestHole: .25
+    smallestHole: 0.25
     backfaceThreshold: 100
 --- !u!104 &2
 RenderSettings:
   m_ObjectHideFlags: 0
-  serializedVersion: 6
+  serializedVersion: 7
   m_Fog: 0
-  m_FogColor: {r: .5, g: .5, b: .5, a: 1}
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
   m_FogMode: 3
-  m_FogDensity: .00999999978
+  m_FogDensity: 0.01
   m_LinearFogStart: 0
   m_LinearFogEnd: 300
-  m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1}
-  m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1}
-  m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1}
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
   m_AmbientIntensity: 1
   m_AmbientMode: 3
   m_SkyboxMaterial: {fileID: 0}
-  m_HaloStrength: .5
+  m_HaloStrength: 0.5
   m_FlareStrength: 1
   m_FlareFadeSpeed: 3
   m_HaloTexture: {fileID: 0}
@@ -37,12 +37,12 @@
   m_ReflectionIntensity: 1
   m_CustomReflection: {fileID: 0}
   m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
 --- !u!157 &3
 LightmapSettings:
   m_ObjectHideFlags: 0
-  serializedVersion: 5
+  serializedVersion: 7
   m_GIWorkflowMode: 1
-  m_LightmapsMode: 1
   m_GISettings:
     serializedVersion: 2
     m_BounceScale: 1
@@ -53,20 +53,25 @@
     m_EnableBakedLightmaps: 0
     m_EnableRealtimeLightmaps: 0
   m_LightmapEditorSettings:
-    serializedVersion: 3
+    serializedVersion: 4
     m_Resolution: 2
     m_BakeResolution: 40
     m_TextureWidth: 1024
     m_TextureHeight: 1024
+    m_AO: 0
     m_AOMaxDistance: 1
+    m_CompAOExponent: 0
+    m_CompAOExponentDirect: 0
     m_Padding: 2
-    m_CompAOExponent: 0
     m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
     m_TextureCompression: 1
+    m_DirectLightInLightProbes: 1
     m_FinalGather: 0
+    m_FinalGatherFiltering: 1
     m_FinalGatherRayCount: 1024
     m_ReflectionCompression: 2
-  m_LightmapSnapshot: {fileID: 0}
+  m_LightingDataAsset: {fileID: 0}
   m_RuntimeCPUUsage: 25
 --- !u!196 &4
 NavMeshSettings:
@@ -74,22 +79,17 @@
   m_ObjectHideFlags: 0
   m_BuildSettings:
     serializedVersion: 2
-    agentRadius: .5
+    agentRadius: 0.5
     agentHeight: 2
     agentSlope: 45
-    agentClimb: .400000006
+    agentClimb: 0.4
     ledgeDropHeight: 0
     maxJumpAcrossDistance: 0
     accuratePlacement: 0
     minRegionArea: 2
-    cellSize: .166666672
+    cellSize: 0.16666667
     manualCellSize: 0
   m_NavMeshData: {fileID: 0}
---- !u!224 &26094926 stripped
-RectTransform:
-  m_PrefabParentObject: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354,
-    type: 2}
-  m_PrefabInternal: {fileID: 1928878396}
 --- !u!1 &476101859
 GameObject:
   m_ObjectHideFlags: 0
@@ -116,6 +116,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 1866791882}
   m_RootOrder: 1
@@ -123,7 +124,7 @@
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &476101861
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -203,7 +204,7 @@
   m_SubmitButton: Submit
   m_CancelButton: Cancel
   m_InputActionsPerSecond: 10
-  m_RepeatDelay: .5
+  m_RepeatDelay: 0.5
   m_ForceModuleActive: 0
 --- !u!114 &1398276589
 MonoBehaviour:
@@ -228,6 +229,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 0}
   m_RootOrder: 2
@@ -301,8 +303,10 @@
   m_ReceivesEvents: 1
   m_OverrideSorting: 0
   m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
   m_SortingLayerID: 0
   m_SortingOrder: 0
+  m_TargetDisplay: 0
 --- !u!224 &1866791882
 RectTransform:
   m_ObjectHideFlags: 0
@@ -312,10 +316,10 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 0, y: 0, z: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children:
   - {fileID: 2037475081}
   - {fileID: 476101860}
-  - {fileID: 26094926}
   m_Father: {fileID: 0}
   m_RootOrder: 1
   m_AnchorMin: {x: 0, y: 0}
@@ -323,132 +327,6 @@
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0, y: 0}
---- !u!1001 &1928878396
-Prefab:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 1866791882}
-    m_Modifications:
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_LocalPosition.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_LocalPosition.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_LocalRotation.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_LocalRotation.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_LocalRotation.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_RootOrder
-      value: 2
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_AnchoredPosition.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_AnchoredPosition.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_SizeDelta.x
-      value: 100
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_SizeDelta.y
-      value: 30
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_AnchorMin.x
-      value: .5
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_AnchorMin.y
-      value: .5
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_AnchorMax.x
-      value: .5
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_AnchorMax.y
-      value: .5
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_Pivot.x
-      value: .5
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_Pivot.y
-      value: .5
-      objectReference: {fileID: 0}
-    - target: {fileID: 22456320, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_AnchorMin.y
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 22456320, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_AnchorMax.y
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 22456320, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_AnchoredPosition.x
-      value: 50
-      objectReference: {fileID: 0}
-    - target: {fileID: 22456320, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_AnchoredPosition.y
-      value: -25
-      objectReference: {fileID: 0}
-    - target: {fileID: 22456320, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_SizeDelta.x
-      value: 100
-      objectReference: {fileID: 0}
-    - target: {fileID: 22456320, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_SizeDelta.y
-      value: 10
-      objectReference: {fileID: 0}
-    - target: {fileID: 22465080, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_AnchorMin.y
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 22465080, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_AnchorMax.y
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 22465080, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_AnchoredPosition.x
-      value: 50
-      objectReference: {fileID: 0}
-    - target: {fileID: 22465080, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_SizeDelta.x
-      value: 100
-      objectReference: {fileID: 0}
-    - target: {fileID: 22465080, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_SizeDelta.y
-      value: 20
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_ParentPrefab: {fileID: 100100000, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-  m_IsPrefabParent: 0
 --- !u!1 &2037475080
 GameObject:
   m_ObjectHideFlags: 0
@@ -475,6 +353,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 1866791882}
   m_RootOrder: 0
@@ -482,7 +361,7 @@
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: .5, y: .5}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &2037475082
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -565,14 +444,14 @@
   m_Enabled: 1
   serializedVersion: 2
   m_ClearFlags: 2
-  m_BackGroundColor: {r: 0, g: 0, b: 0, a: .0196078438}
+  m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0.019607844}
   m_NormalizedViewPortRect:
     serializedVersion: 2
     x: 0
     y: 0
     width: 1
     height: 1
-  near clip plane: .300000012
+  near clip plane: 0.3
   far clip plane: 1000
   field of view: 60
   orthographic: 1
@@ -588,7 +467,7 @@
   m_HDR: 0
   m_OcclusionCulling: 1
   m_StereoConvergence: 10
-  m_StereoSeparation: .0219999999
+  m_StereoSeparation: 0.022
   m_StereoMirrorMode: 0
 --- !u!4 &2134872731
 Transform:
@@ -599,6 +478,7 @@
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: -10}
   m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_Children: []
   m_Father: {fileID: 0}
   m_RootOrder: 0

--- a/Assets/Scripts/Editor/BuildAssetBundles.cs
+++ b/Assets/Scripts/Editor/BuildAssetBundles.cs
@@ -24,6 +24,6 @@
     [MenuItem("Build/Asset Bundles")]
     public static void Build()
     {
-        BuildPipeline.BuildAssetBundles(Application.dataPath + "/../Output/KerbalEngineer", BuildAssetBundleOptions.UncompressedAssetBundle);
+        BuildPipeline.BuildAssetBundles(Application.dataPath + "/../AssetBundles", BuildAssetBundleOptions.UncompressedAssetBundle, BuildTarget.StandaloneWindows);
     }
 }

--- a/Assets/SquadCore.meta
+++ b/Assets/SquadCore.meta
@@ -5,6 +5,6 @@
 licenseType: Pro
 DefaultImporter:
   userData: 
-  assetBundleName: squadcore
+  assetBundleName: 
   assetBundleVariant: 
 

--- /dev/null
+++ b/Assets/SquadCore/Shaders/DepthMask.shader
@@ -1,1 +1,11 @@
-
+Shader "DepthMask" {
+    SubShader {
+    	Tags { "Queue" = "Background" }
+        Lighting Off
+        ZTest LEqual
+        ZWrite On
+        Cull Off
+        ColorMask 0
+        Pass {}
+    }
+}

--- /dev/null
+++ b/Assets/SquadCore/Shaders/DepthMask.shader.meta
@@ -1,1 +1,10 @@
+fileFormatVersion: 2
+guid: ab3fbe2002ef7c44684b31408f4e7442
+timeCreated: 1462818941
+licenseType: Free
+ShaderImporter:
+  defaultTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
 

--- /dev/null
+++ b/Assets/XML/images_bundle.xml
@@ -1,1 +1,11 @@
-
+<?xml version="1.0" encoding="utf-8"?>
+<KSPBundleDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" UrlName="images" Name="images" CreatedTime="-8587276745316957000">
+  <Author />
+  <Info />
+  <Assets>
+    <Asset Name="app-launcher-icon" Path="Assets/Images/app-launcher-icon.psd" Type="Texture2D" Url="Images/app-launcher-icon" AutoLoad="false" />
+    <Asset Name="flight-menu-background" Path="Assets/Images/flight-menu-background.psd" Type="Texture2D" Url="Images/flight-menu-background" AutoLoad="false" />
+    <Asset Name="ui-drop-down" Path="Assets/Images/ui-drop-down.psd" Type="Texture2D" Url="Images/ui-drop-down" AutoLoad="false" />
+  </Assets>
+  <Dependencies />
+</KSPBundleDefinition>

--- /dev/null
+++ b/Assets/XML/images_bundle.xml.meta
@@ -1,1 +1,9 @@
+fileFormatVersion: 2
+guid: cbe10ec3225d5214292822c89000b492
+timeCreated: 1473932353
+licenseType: Free
+TextScriptImporter:
+  userData: 
+  assetBundleName: images
+  assetBundleVariant: 
 

--- /dev/null
+++ b/Assets/XML/models_bundle.xml
@@ -1,1 +1,7 @@
-
+<?xml version="1.0" encoding="utf-8"?>
+<KSPBundleDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" UrlName="models" Name="models" CreatedTime="-8587276744977166075">
+  <Author />
+  <Info />
+  <Assets />
+  <Dependencies />
+</KSPBundleDefinition>

--- /dev/null
+++ b/Assets/XML/models_bundle.xml.meta
@@ -1,1 +1,9 @@
+fileFormatVersion: 2
+guid: 6120dd38ee683dc409ca9b411f445915
+timeCreated: 1473932353
+licenseType: Free
+TextScriptImporter:
+  userData: 
+  assetBundleName: models
+  assetBundleVariant: 
 

--- /dev/null
+++ b/Assets/XML/prefabs_bundle.xml
@@ -1,1 +1,14 @@
-
+<?xml version="1.0" encoding="utf-8"?>
+<KSPBundleDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" UrlName="prefabs" Name="prefabs" CreatedTime="-8587276745314578606">
+  <Author />
+  <Info />
+  <Assets>
+    <Asset Name="FlightMenu" Path="Assets/Prefabs/FlightMenu.prefab" Type="GameObject" Url="Prefabs/FlightMenu" AutoLoad="false" />
+    <Asset Name="FlightMenuSection" Path="Assets/Prefabs/FlightMenuSection.prefab" Type="GameObject" Url="Prefabs/FlightMenuSection" AutoLoad="false" />
+    <Asset Name="Setting" Path="Assets/Prefabs/Setting.prefab" Type="GameObject" Url="Prefabs/Setting" AutoLoad="false" />
+    <Asset Name="SettingButton" Path="Assets/Prefabs/SettingButton.prefab" Type="GameObject" Url="Prefabs/SettingButton" AutoLoad="false" />
+    <Asset Name="SettingToggle" Path="Assets/Prefabs/SettingToggle.prefab" Type="GameObject" Url="Prefabs/SettingToggle" AutoLoad="false" />
+    <Asset Name="Window" Path="Assets/Prefabs/Window.prefab" Type="GameObject" Url="Prefabs/Window" AutoLoad="false" />
+  </Assets>
+  <Dependencies />
+</KSPBundleDefinition>

--- /dev/null
+++ b/Assets/XML/prefabs_bundle.xml.meta
@@ -1,1 +1,9 @@
+fileFormatVersion: 2
+guid: 18591dc977bf5c249a1b1339e7f966ae
+timeCreated: 1473932353
+licenseType: Free
+TextScriptImporter:
+  userData: 
+  assetBundleName: prefabs
+  assetBundleVariant: 
 

--- /dev/null
+++ b/Assets/XML/squadcore_bundle.xml
@@ -1,1 +1,32 @@
-
+<?xml version="1.0" encoding="utf-8"?>
+<KSPBundleDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" UrlName="squadcore" Name="squadcore" CreatedTime="-8587276745312185024">
+  <Author />
+  <Info />
+  <Assets>
+    <Asset Name="BackgroundBlack" Path="Assets/SquadCore/KSPedia/Backgrounds/BackgroundBlack.png" Type="Texture2D" Url="SquadCore/KSPedia/Backgrounds/BackgroundBlack" AutoLoad="false" />
+    <Asset Name="BackgroundBlue" Path="Assets/SquadCore/KSPedia/Backgrounds/BackgroundBlue.png" Type="Texture2D" Url="SquadCore/KSPedia/Backgrounds/BackgroundBlue" AutoLoad="false" />
+    <Asset Name="BackgroundBlueGrid" Path="Assets/SquadCore/KSPedia/Backgrounds/BackgroundBlueGrid.png" Type="Texture2D" Url="SquadCore/KSPedia/Backgrounds/BackgroundBlueGrid" AutoLoad="false" />
+    <Asset Name="BackgroundKSC" Path="Assets/SquadCore/KSPedia/Backgrounds/BackgroundKSC.png" Type="Texture2D" Url="SquadCore/KSPedia/Backgrounds/BackgroundKSC" AutoLoad="false" />
+    <Asset Name="BackgroundWhite" Path="Assets/SquadCore/KSPedia/Backgrounds/BackgroundWhite.png" Type="Texture2D" Url="SquadCore/KSPedia/Backgrounds/BackgroundWhite" AutoLoad="false" />
+    <Asset Name="KSP/Alpha/Translucent" Path="Assets/SquadCore/Shaders/Alpha.shader" Type="Shader" Url="SquadCore/Shaders/Alpha" AutoLoad="false" />
+    <Asset Name="KSP/Alpha/Translucent Specular" Path="Assets/SquadCore/Shaders/AlphaSpecular.shader" Type="Shader" Url="SquadCore/Shaders/AlphaSpecular" AutoLoad="false" />
+    <Asset Name="KSP/Bumped" Path="Assets/SquadCore/Shaders/Bumped.shader" Type="Shader" Url="SquadCore/Shaders/Bumped" AutoLoad="false" />
+    <Asset Name="KSP/Bumped Specular" Path="Assets/SquadCore/Shaders/BumpedSpecular.shader" Type="Shader" Url="SquadCore/Shaders/BumpedSpecular" AutoLoad="false" />
+    <Asset Name="KSP/Alpha/Cutoff" Path="Assets/SquadCore/Shaders/Cutoff.shader" Type="Shader" Url="SquadCore/Shaders/Cutoff" AutoLoad="false" />
+    <Asset Name="KSP/Alpha/Cutoff Bumped" Path="Assets/SquadCore/Shaders/CutoffBumped.shader" Type="Shader" Url="SquadCore/Shaders/CutoffBumped" AutoLoad="false" />
+    <Asset Name="KSP/Diffuse" Path="Assets/SquadCore/Shaders/Diffuse.shader" Type="Shader" Url="SquadCore/Shaders/Diffuse" AutoLoad="false" />
+    <Asset Name="KSP/Emissive/Diffuse" Path="Assets/SquadCore/Shaders/Emissive.shader" Type="Shader" Url="SquadCore/Shaders/Emissive" AutoLoad="false" />
+    <Asset Name="KSP/Emissive/Bumped Specular" Path="Assets/SquadCore/Shaders/EmissiveBumpedSpecular.shader" Type="Shader" Url="SquadCore/Shaders/EmissiveBumpedSpecular" AutoLoad="false" />
+    <Asset Name="KSP/Emissive/Specular" Path="Assets/SquadCore/Shaders/EmissiveSpecular.shader" Type="Shader" Url="SquadCore/Shaders/EmissiveSpecular" AutoLoad="false" />
+    <Asset Name="KSP/Particles/Additive (Soft)" Path="Assets/SquadCore/Shaders/KSPParticle AddSmooth.shader" Type="Shader" Url="SquadCore/Shaders/KSPParticle AddSmooth" AutoLoad="false" />
+    <Asset Name="KSP/Particles/Additive" Path="Assets/SquadCore/Shaders/ParticleAdd.shader" Type="Shader" Url="SquadCore/Shaders/ParticleAdd" AutoLoad="false" />
+    <Asset Name="KSP/Particles/Alpha Blended" Path="Assets/SquadCore/Shaders/ParticleAlpha.shader" Type="Shader" Url="SquadCore/Shaders/ParticleAlpha" AutoLoad="false" />
+    <Asset Name="Solid Color (Alpha)" Path="Assets/SquadCore/Shaders/SolidColorAlpha.shader" Type="Shader" Url="SquadCore/Shaders/SolidColorAlpha" AutoLoad="false" />
+    <Asset Name="KSP/Specular" Path="Assets/SquadCore/Shaders/Specular.shader" Type="Shader" Url="SquadCore/Shaders/Specular" AutoLoad="false" />
+    <Asset Name="KSP/Bumped Specular (Transparent)" Path="Assets/SquadCore/Shaders/SpecularBumpTransparent.shader" Type="Shader" Url="SquadCore/Shaders/SpecularBumpTransparent" AutoLoad="false" />
+    <Asset Name="KSP/Specular (Transparent)" Path="Assets/SquadCore/Shaders/SpecularTransparent.shader" Type="Shader" Url="SquadCore/Shaders/SpecularTransparent" AutoLoad="false" />
+    <Asset Name="KSP/Unlit" Path="Assets/SquadCore/Shaders/Unlit.shader" Type="Shader" Url="SquadCore/Shaders/Unlit" AutoLoad="false" />
+    <Asset Name="KSP/Alpha/Unlit Transparent" Path="Assets/SquadCore/Shaders/UnlitTransparent.shader" Type="Shader" Url="SquadCore/Shaders/UnlitTransparent" AutoLoad="false" />
+  </Assets>
+  <Dependencies />
+</KSPBundleDefinition>

--- /dev/null
+++ b/Assets/XML/squadcore_bundle.xml.meta
@@ -1,1 +1,9 @@
+fileFormatVersion: 2
+guid: 5ce8121580e615f46b9bbeca8db8289f
+timeCreated: 1473932354
+licenseType: Free
+TextScriptImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
 

--- a/Documents/CHANGES.txt
+++ b/Documents/CHANGES.txt
@@ -1,3 +1,7 @@
+1.1.2.0, 2016-09-15, KSP Build #1480
+    Fixed compile errors caused due to game update.
+    Fixed asset bundle errors due to engine update.
+
 1.1.1.0, 2016-04-29, KSP Build #1250
     Added: Missing cleanup of some contained references within various pooled classes.
     Fixed: Jet engine simulation data is no longer included when IntakeAir deprived (i.e. in space).

--- a/KerbalEngineer.CSharp.Editor.csproj
+++ b/KerbalEngineer.CSharp.Editor.csproj
@@ -16,7 +16,7 @@
     <CompilerResponseFile></CompilerResponseFile>
     <UnityProjectType>Editor:5</UnityProjectType>
     <UnityBuildTarget>StandaloneWindows:5</UnityBuildTarget>
-    <UnityVersion>5.2.4f1</UnityVersion>
+    <UnityVersion>5.4.0p4</UnityVersion>
     <RootNamespace></RootNamespace>
     <LangVersion Condition=" '$(VisualStudioVersion)' != '10.0' ">4</LangVersion>
   </PropertyGroup>
@@ -27,7 +27,7 @@
     <IntermediateOutputPath>Temp\UnityVS_obj\Debug\</IntermediateOutputPath>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
-    <DefineConstants>DEBUG;TRACE;UNITY_5_2_4;UNITY_5_2;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_2D_PHYSICS;ENABLE_4_6_FEATURES;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_REFLECTION_BUFFERS;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_LOCALIZATION;ENABLE_ANDROID_ATLAS_ETC1_COMPRESSION;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_LOG_MIXED_STACKTRACE;ENABLE_UNITYWEBREQUEST;ENABLE_EVENT_QUEUE;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN</DefineConstants>
+    <DefineConstants>DEBUG;TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_4_0;UNITY_5_4;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_EDITOR_RETINA;ENABLE_RETINA_GUISTYLES;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_SPRITE_POLYGON;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_LOCALIZATION;ENABLE_ANDROID_ATLAS_ETC1_COMPRESSION;ENABLE_EDITOR_TESTS_RUNNER;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU</DefineConstants>
     <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
@@ -37,7 +37,7 @@
     <IntermediateOutputPath>Temp\UnityVS_obj\Release\</IntermediateOutputPath>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
-    <DefineConstants>TRACE;UNITY_5_2_4;UNITY_5_2;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_2D_PHYSICS;ENABLE_4_6_FEATURES;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_REFLECTION_BUFFERS;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_LOCALIZATION;ENABLE_ANDROID_ATLAS_ETC1_COMPRESSION;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_LOG_MIXED_STACKTRACE;ENABLE_UNITYWEBREQUEST;ENABLE_EVENT_QUEUE;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN</DefineConstants>
+    <DefineConstants>TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_4_0;UNITY_5_4;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_EDITOR_RETINA;ENABLE_RETINA_GUISTYLES;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_SPRITE_POLYGON;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_LOCALIZATION;ENABLE_ANDROID_ATLAS_ETC1_COMPRESSION;ENABLE_EDITOR_TESTS_RUNNER;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU</DefineConstants>
     <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
   </PropertyGroup>
   <ItemGroup>
@@ -55,11 +55,14 @@
     <Reference Include="UnityEditor">
       <HintPath>Library\UnityAssemblies\UnityEditor.dll</HintPath>
     </Reference>
-    <Reference Include="UnityEngine.Advertisements">
-      <HintPath>Library\UnityAssemblies\UnityEngine.Advertisements.dll</HintPath>
-    </Reference>
     <Reference Include="UnityEditor.Advertisements">
       <HintPath>Library\UnityAssemblies\UnityEditor.Advertisements.dll</HintPath>
+    </Reference>
+    <Reference Include="nunit.framework">
+      <HintPath>Library\UnityAssemblies\nunit.framework.dll</HintPath>
+    </Reference>
+    <Reference Include="UnityEditor.EditorTestsRunner">
+      <HintPath>Library\UnityAssemblies\UnityEditor.EditorTestsRunner.dll</HintPath>
     </Reference>
     <Reference Include="UnityEngine.UI">
       <HintPath>Library\UnityAssemblies\UnityEngine.UI.dll</HintPath>
@@ -73,8 +76,8 @@
     <Reference Include="UnityEditor.Networking">
       <HintPath>Library\UnityAssemblies\UnityEditor.Networking.dll</HintPath>
     </Reference>
-    <Reference Include="UnityEngine.Analytics">
-      <HintPath>Library\UnityAssemblies\UnityEngine.Analytics.dll</HintPath>
+    <Reference Include="UnityEditor.TreeEditor">
+      <HintPath>Library\UnityAssemblies\UnityEditor.TreeEditor.dll</HintPath>
     </Reference>
     <Reference Include="UnityEditor.Graphs">
       <HintPath>Library\UnityAssemblies\UnityEditor.Graphs.dll</HintPath>
@@ -82,41 +85,17 @@
     <Reference Include="UnityEditor.Android.Extensions">
       <HintPath>Library\UnityAssemblies\UnityEditor.Android.Extensions.dll</HintPath>
     </Reference>
-    <Reference Include="UnityEditor.iOS.Extensions">
-      <HintPath>Library\UnityAssemblies\UnityEditor.iOS.Extensions.dll</HintPath>
-    </Reference>
-    <Reference Include="UnityEditor.WP8.Extensions">
-      <HintPath>Library\UnityAssemblies\UnityEditor.WP8.Extensions.dll</HintPath>
-    </Reference>
-    <Reference Include="UnityEditor.Metro.Extensions">
-      <HintPath>Library\UnityAssemblies\UnityEditor.Metro.Extensions.dll</HintPath>
-    </Reference>
-    <Reference Include="UnityEditor.Tizen.Extensions">
-      <HintPath>Library\UnityAssemblies\UnityEditor.Tizen.Extensions.dll</HintPath>
-    </Reference>
-    <Reference Include="UnityEditor.SamsungTV.Extensions">
-      <HintPath>Library\UnityAssemblies\UnityEditor.SamsungTV.Extensions.dll</HintPath>
-    </Reference>
-    <Reference Include="UnityEditor.WebGL.Extensions">
-      <HintPath>Library\UnityAssemblies\UnityEditor.WebGL.Extensions.dll</HintPath>
-    </Reference>
-    <Reference Include="UnityEditor.LinuxStandalone.Extensions">
-      <HintPath>Library\UnityAssemblies\UnityEditor.LinuxStandalone.Extensions.dll</HintPath>
-    </Reference>
     <Reference Include="UnityEditor.WindowsStandalone.Extensions">
       <HintPath>Library\UnityAssemblies\UnityEditor.WindowsStandalone.Extensions.dll</HintPath>
-    </Reference>
-    <Reference Include="UnityEditor.OSXStandalone.Extensions">
-      <HintPath>Library\UnityAssemblies\UnityEditor.OSXStandalone.Extensions.dll</HintPath>
     </Reference>
     <Reference Include="SyntaxTree.VisualStudio.Unity.Bridge">
       <HintPath>Library\UnityAssemblies\SyntaxTree.VisualStudio.Unity.Bridge.dll</HintPath>
     </Reference>
-    <Reference Include="Mono.Cecil">
-      <HintPath>Library\UnityAssemblies\Mono.Cecil.dll</HintPath>
+    <Reference Include="PartTools">
+      <HintPath>Assets\PartTools\Lib\PartTools.dll</HintPath>
     </Reference>
-    <Reference Include="UnityEditor.iOS.Extensions.Xcode">
-      <HintPath>Library\UnityAssemblies\UnityEditor.iOS.Extensions.Xcode.dll</HintPath>
+    <Reference Include="PartToolsEditor">
+      <HintPath>Assets\PartTools\Lib\PartToolsEditor.dll</HintPath>
     </Reference>
     <Reference Include="KerbalEngineer.Unity">
       <HintPath>Assets\Plugins\KerbalEngineer.Unity.dll</HintPath>
@@ -126,12 +105,6 @@
     </Reference>
     <Reference Include="KSPAssets">
       <HintPath>Assets\Plugins\KSPAssets\KSPAssets.dll</HintPath>
-    </Reference>
-    <Reference Include="PartTools">
-      <HintPath>Assets\PartTools\Lib\PartTools.dll</HintPath>
-    </Reference>
-    <Reference Include="PartToolsEditor">
-      <HintPath>Assets\PartTools\Lib\PartToolsEditor.dll</HintPath>
     </Reference>
   </ItemGroup>
   <ItemGroup>
@@ -179,6 +152,7 @@
     <None Include="Assets\SquadCore\Shaders\BumpedSpecular.shader" />
     <None Include="Assets\SquadCore\Shaders\Cutoff.shader" />
     <None Include="Assets\SquadCore\Shaders\CutoffBumped.shader" />
+    <None Include="Assets\SquadCore\Shaders\DepthMask.shader" />
     <None Include="Assets\SquadCore\Shaders\Diffuse.shader" />
     <None Include="Assets\SquadCore\Shaders\Emissive.shader" />
     <None Include="Assets\SquadCore\Shaders\EmissiveBumpedSpecular.shader" />
@@ -192,6 +166,10 @@
     <None Include="Assets\SquadCore\Shaders\SpecularTransparent.shader" />
     <None Include="Assets\SquadCore\Shaders\Unlit.shader" />
     <None Include="Assets\SquadCore\Shaders\UnlitTransparent.shader" />
+    <None Include="Assets\XML\images_bundle.xml" />
+    <None Include="Assets\XML\models_bundle.xml" />
+    <None Include="Assets\XML\prefabs_bundle.xml" />
+    <None Include="Assets\XML\squadcore_bundle.xml" />
   </ItemGroup>
   <Import Project="$(MSBuildExtensionsPath)\SyntaxTree\UnityVS\2015\UnityVS.CSharp.targets" />
 </Project>

--- a/KerbalEngineer.Unity/CanvasGroupFader.cs
+++ b/KerbalEngineer.Unity/CanvasGroupFader.cs
@@ -25,14 +25,14 @@
     [RequireComponent(typeof(CanvasGroup))]
     public class CanvasGroupFader : MonoBehaviour
     {
-        private CanvasGroup m_CanvasGroup;
-        private IEnumerator m_FadeCoroutine;
+        private CanvasGroup canvasGroup;
+        private IEnumerator fadeCoroutine;
 
         public bool IsFading
         {
             get
             {
-                return m_FadeCoroutine != null;
+                return fadeCoroutine != null;
             }
         }
 
@@ -41,12 +41,12 @@
         /// </summary>
         public void FadeTo(float alpha, float duration, Action callback = null)
         {
-            if (m_CanvasGroup == null)
+            if (canvasGroup == null)
             {
                 return;
             }
 
-            Fade(m_CanvasGroup.alpha, alpha, duration, callback);
+            Fade(canvasGroup.alpha, alpha, duration, callback);
         }
 
         /// <summary>
@@ -54,19 +54,19 @@
         /// </summary>
         public void SetAlpha(float alpha)
         {
-            if (m_CanvasGroup == null)
+            if (canvasGroup == null)
             {
                 return;
             }
 
             alpha = Mathf.Clamp01(alpha);
-            m_CanvasGroup.alpha = alpha;
+            canvasGroup.alpha = alpha;
         }
 
         protected virtual void Awake()
         {
             // cache components
-            m_CanvasGroup = GetComponent<CanvasGroup>();
+            canvasGroup = GetComponent<CanvasGroup>();
         }
 
         /// <summary>
@@ -74,13 +74,13 @@
         /// </summary>
         private void Fade(float from, float to, float duration, Action callback)
         {
-            if (m_FadeCoroutine != null)
+            if (fadeCoroutine != null)
             {
-                StopCoroutine(m_FadeCoroutine);
+                StopCoroutine(fadeCoroutine);
             }
 
-            m_FadeCoroutine = FadeCoroutine(from, to, duration, callback);
-            StartCoroutine(m_FadeCoroutine);
+            fadeCoroutine = FadeCoroutine(from, to, duration, callback);
+            StartCoroutine(fadeCoroutine);
         }
 
         /// <summary>
@@ -105,7 +105,7 @@
                 callback.Invoke();
             }
 
-            m_FadeCoroutine = null;
+            fadeCoroutine = null;
         }
     }
 }

--- a/KerbalEngineer.Unity/Flight/FlightMenu.cs
+++ b/KerbalEngineer.Unity/Flight/FlightMenu.cs
@@ -27,25 +27,25 @@
     public class FlightMenu : CanvasGroupFader, IPointerEnterHandler, IPointerExitHandler
     {
         [SerializeField]
-        private Toggle m_ShowEngineerToggle = null;
-
-        [SerializeField]
-        private Toggle m_ControlBarToggle = null;
-
-        [SerializeField]
-        private GameObject m_MenuSectionPrefab = null;
-
-        [SerializeField]
-        private Transform m_SectionsTransform = null;
-
-        [SerializeField]
-        private float m_FastFadeDuration = 0.2f;
-
-        [SerializeField]
-        private float m_SlowFadeDuration = 1.0f;
-
-        private IFlightAppLauncher m_FlightAppLauncher;
-        private RectTransform m_RectTransform;
+        private Toggle showEngineerToggle = null;
+
+        [SerializeField]
+        private Toggle controlBarToggle = null;
+
+        [SerializeField]
+        private GameObject menuSectionPrefab = null;
+
+        [SerializeField]
+        private Transform sectionsTransform = null;
+
+        [SerializeField]
+        private float fastFadeDuration = 0.2f;
+
+        [SerializeField]
+        private float slowFadeDuration = 1.0f;
+
+        private IFlightAppLauncher flightAppLauncher;
+        private RectTransform rectTransform;
 
         public void OnPointerEnter(PointerEventData eventData)
         {
@@ -55,9 +55,9 @@
         public void OnPointerExit(PointerEventData eventData)
         {
             // slow-fade out if the application launcher button is off
-            if (m_FlightAppLauncher != null && m_FlightAppLauncher.IsOn == false)
-            {
-                FadeTo(0.0f, m_SlowFadeDuration, Destroy);
+            if (flightAppLauncher != null && flightAppLauncher.IsOn == false)
+            {
+                FadeTo(0.0f, slowFadeDuration, Destroy);
             }
         }
 
@@ -66,7 +66,7 @@
         /// </summary>
         public void Close()
         {
-            FadeTo(0.0f, m_FastFadeDuration, Destroy);
+            FadeTo(0.0f, fastFadeDuration, Destroy);
         }
 
         /// <summary>
@@ -74,7 +74,7 @@
         /// </summary>
         public void FadeIn()
         {
-            FadeTo(1.0f, m_FastFadeDuration);
+            FadeTo(1.0f, fastFadeDuration);
         }
 
         /// <summary>
@@ -82,9 +82,9 @@
         /// </summary>
         public void NewCustomSection()
         {
-            if (m_FlightAppLauncher != null)
-            {
-                CreateSectionControl(m_FlightAppLauncher.NewCustomSection());
+            if (flightAppLauncher != null)
+            {
+                CreateSectionControl(flightAppLauncher.NewCustomSection());
             }
         }
 
@@ -93,9 +93,9 @@
         /// </summary>
         public void SetControlBarVisible(bool visible)
         {
-            if (m_FlightAppLauncher != null)
-            {
-                m_FlightAppLauncher.IsControlBarVisible = visible;
+            if (flightAppLauncher != null)
+            {
+                flightAppLauncher.IsControlBarVisible = visible;
             }
         }
 
@@ -104,9 +104,9 @@
         /// </summary>
         public void SetDisplayStackVisible(bool visible)
         {
-            if (m_FlightAppLauncher != null)
-            {
-                m_FlightAppLauncher.IsDisplayStackVisible = visible;
+            if (flightAppLauncher != null)
+            {
+                flightAppLauncher.IsDisplayStackVisible = visible;
             }
         }
 
@@ -120,11 +120,11 @@
                 return;
             }
 
-            m_FlightAppLauncher = flightAppLauncher;
+            this.flightAppLauncher = flightAppLauncher;
 
             // create section controls
-            CreateSectionControls(m_FlightAppLauncher.GetStockSections());
-            CreateSectionControls(m_FlightAppLauncher.GetCustomSections());
+            CreateSectionControls(this.flightAppLauncher.GetStockSections());
+            CreateSectionControls(this.flightAppLauncher.GetCustomSections());
         }
 
         protected override void Awake()
@@ -132,7 +132,7 @@
             base.Awake();
 
             // cache components
-            m_RectTransform = GetComponent<RectTransform>();
+            rectTransform = GetComponent<RectTransform>();
         }
 
         protected virtual void Start()
@@ -144,20 +144,20 @@
 
         protected virtual void Update()
         {
-            if (m_FlightAppLauncher == null)
+            if (flightAppLauncher == null)
             {
                 return;
             }
 
             // set toggle states to match the actual states
-            SetToggle(m_ShowEngineerToggle, m_FlightAppLauncher.IsDisplayStackVisible);
-            SetToggle(m_ControlBarToggle, m_FlightAppLauncher.IsControlBarVisible);
+            SetToggle(showEngineerToggle, flightAppLauncher.IsDisplayStackVisible);
+            SetToggle(controlBarToggle, flightAppLauncher.IsControlBarVisible);
 
             // update anchor position
-            if (m_RectTransform != null)
-            {
-                m_RectTransform.position = m_FlightAppLauncher.GetAnchor();
-                m_FlightAppLauncher.ClampToScreen(m_RectTransform);
+            if (rectTransform != null)
+            {
+                rectTransform.position = flightAppLauncher.GetAnchor();
+                flightAppLauncher.ClampToScreen(rectTransform);
             }
         }
 
@@ -177,13 +177,13 @@
         /// </summary>
         private void CreateSectionControl(ISectionModule section)
         {
-            GameObject menuSectionObject = Instantiate(m_MenuSectionPrefab);
+            GameObject menuSectionObject = Instantiate(menuSectionPrefab);
             if (menuSectionObject != null)
             {
                 // apply ksp theme to the created menu section object
-                m_FlightAppLauncher.ApplyTheme(menuSectionObject);
-
-                menuSectionObject.transform.SetParent(m_SectionsTransform, false);
+                flightAppLauncher.ApplyTheme(menuSectionObject);
+
+                menuSectionObject.transform.SetParent(sectionsTransform, false);
 
                 FlightMenuSection menuSection = menuSectionObject.GetComponent<FlightMenuSection>();
                 if (menuSection != null)
@@ -198,7 +198,7 @@
         /// </summary>
         private void CreateSectionControls(IList<ISectionModule> sections)
         {
-            if (sections == null || m_MenuSectionPrefab == null || m_SectionsTransform == null)
+            if (sections == null || menuSectionPrefab == null || sectionsTransform == null)
             {
                 return;
             }

--- a/KerbalEngineer.Unity/Flight/FlightMenuSection.cs
+++ b/KerbalEngineer.Unity/Flight/FlightMenuSection.cs
@@ -24,15 +24,15 @@
     public class FlightMenuSection : MonoBehaviour
     {
         [SerializeField]
-        private Toggle m_DisplayToggle = null;
+        private Toggle displayToggle = null;
 
         [SerializeField]
-        private Text m_DisplayText = null;
+        private Text displayText = null;
 
         [SerializeField]
-        private Toggle m_EditToggle = null;
+        private Toggle editToggle = null;
 
-        private ISectionModule m_Section;
+        private ISectionModule section;
 
         /// <summary>
         ///     Gets or sets the section's editor visibility.
@@ -41,18 +41,18 @@
         {
             get
             {
-                if (m_EditToggle != null)
+                if (editToggle != null)
                 {
-                    return m_EditToggle.isOn;
+                    return editToggle.isOn;
                 }
 
                 return true;
             }
             set
             {
-                if (m_EditToggle != null)
+                if (editToggle != null)
                 {
-                    m_EditToggle.isOn = value;
+                    editToggle.isOn = value;
                 }
             }
         }
@@ -67,7 +67,7 @@
                 return;
             }
 
-            m_Section = section;
+            this.section = section;
         }
 
         /// <summary>
@@ -75,9 +75,9 @@
         /// </summary>
         public void SetDisplayVisible(bool visible)
         {
-            if (m_Section != null)
+            if (section != null)
             {
-                m_Section.IsVisible = visible;
+                section.IsVisible = visible;
             }
         }
 
@@ -86,9 +86,9 @@
         /// </summary>
         public void SetEditorVisible(bool visible)
         {
-            if (m_Section != null)
+            if (section != null)
             {
-                m_Section.IsEditorVisible = visible;
+                section.IsEditorVisible = visible;
             }
         }
 
@@ -102,28 +102,28 @@
         /// </summary>
         private void UpdateControls()
         {
-            if (m_Section == null || m_Section.IsDeleted)
+            if (section == null || section.IsDeleted)
             {
                 Destroy(gameObject);
                 return;
             }
 
             // display visible
-            if (m_DisplayToggle != null)
+            if (displayToggle != null)
             {
-                m_DisplayToggle.isOn = m_Section.IsVisible;
+                displayToggle.isOn = section.IsVisible;
             }
 
             // display name
-            if (m_DisplayText != null)
+            if (displayText != null)
             {
-                m_DisplayText.text = m_Section.Name.ToUpperInvariant();
+                displayText.text = section.Name.ToUpperInvariant();
             }
 
             // editor visible
-            if (m_EditToggle != null)
+            if (editToggle != null)
             {
-                m_EditToggle.isOn = m_Section.IsEditorVisible;
+                editToggle.isOn = section.IsEditorVisible;
             }
         }
     }

--- a/KerbalEngineer.Unity/KerbalEngineer.Unity.csproj
+++ b/KerbalEngineer.Unity/KerbalEngineer.Unity.csproj
@@ -48,11 +48,11 @@
       <Private>False</Private>
     </Reference>
     <Reference Include="UnityEngine">
-      <HintPath>..\..\game\KSP_Data\Managed\UnityEngine.dll</HintPath>
+      <HintPath>..\..\Game\KSP_x64_Data\Managed\UnityEngine.dll</HintPath>
       <Private>False</Private>
     </Reference>
     <Reference Include="UnityEngine.UI">
-      <HintPath>..\..\game\KSP_Data\Managed\UnityEngine.UI.dll</HintPath>
+      <HintPath>..\..\Game\KSP_x64_Data\Managed\UnityEngine.UI.dll</HintPath>
       <Private>False</Private>
     </Reference>
   </ItemGroup>

--- a/KerbalEngineer.Unity/Setting.cs
+++ b/KerbalEngineer.Unity/Setting.cs
@@ -8,31 +8,31 @@
     public class Setting : MonoBehaviour
     {
         [SerializeField]
-        private Text m_Label = null;
+        private Text label = null;
 
         [SerializeField]
-        private Transform m_ButtonsTransform = null;
+        private Transform buttonsTransform = null;
 
         [SerializeField]
-        private GameObject m_SettingButtonPrefab = null;
+        private GameObject settingButtonPrefab = null;
 
         [SerializeField]
-        private GameObject m_SettingTogglePrefab = null;
+        private GameObject settingTogglePrefab = null;
 
-        private Action m_OnUpdate;
+        private Action onUpdate;
 
         public Button AddButton(string text, float width, UnityAction onClick)
         {
             Button button = null;
 
-            if (m_SettingButtonPrefab != null)
+            if (settingButtonPrefab != null)
             {
-                GameObject buttonObject = Instantiate(m_SettingButtonPrefab);
+                GameObject buttonObject = Instantiate(settingButtonPrefab);
                 if (buttonObject != null)
                 {
                     button = buttonObject.GetComponent<Button>();
 
-                    SetParentTransform(buttonObject, m_ButtonsTransform);
+                    SetParentTransform(buttonObject, buttonsTransform);
                     SetWidth(buttonObject, width);
                     SetText(buttonObject, text);
                     SetButton(buttonObject, onClick);
@@ -46,14 +46,14 @@
         {
             Toggle toggle = null;
 
-            if (m_SettingTogglePrefab != null)
+            if (settingTogglePrefab != null)
             {
-                GameObject toggleObject = Instantiate(m_SettingTogglePrefab);
+                GameObject toggleObject = Instantiate(settingTogglePrefab);
                 if (toggleObject != null)
                 {
                     toggle = toggleObject.GetComponent<Toggle>();
 
-                    SetParentTransform(toggleObject, m_ButtonsTransform);
+                    SetParentTransform(toggleObject, buttonsTransform);
                     SetWidth(toggleObject, width);
                     SetText(toggleObject, text);
                     SetToggle(toggleObject, onValueChanged);
@@ -65,22 +65,22 @@
 
         public void AddUpdateHandler(Action onUpdate)
         {
-            m_OnUpdate = onUpdate;
+            this.onUpdate = onUpdate;
         }
 
         public void SetLabel(string text)
         {
-            if (m_Label != null)
+            if (label != null)
             {
-                m_Label.text = text;
+                label.text = text;
             }
         }
 
         protected virtual void Update()
         {
-            if (m_OnUpdate != null)
+            if (onUpdate != null)
             {
-                m_OnUpdate.Invoke();
+                onUpdate.Invoke();
             }
         }
 

--- a/KerbalEngineer.Unity/UI/StyleApplicator.cs
+++ b/KerbalEngineer.Unity/UI/StyleApplicator.cs
@@ -34,7 +34,7 @@
         }
 
         [SerializeField]
-        private ElementTypes m_ElementType = ElementTypes.None;
+        private ElementTypes elementType = ElementTypes.None;
 
         /// <summary>
         ///     Gets the UI element type used by the ThemeManager for selecting how to apply the theme.
@@ -43,7 +43,7 @@
         {
             get
             {
-                return m_ElementType;
+                return elementType;
             }
         }
 

--- a/KerbalEngineer.Unity/UI/TextStyle.cs
+++ b/KerbalEngineer.Unity/UI/TextStyle.cs
@@ -4,20 +4,20 @@
 
     public class TextStyle
     {
-        private Color m_Colour;
-        private Font m_Font;
-        private int m_Size;
-        private FontStyle m_Style;
+        private Color colour;
+        private Font font;
+        private int size;
+        private FontStyle style;
 
         public Color Colour
         {
             get
             {
-                return m_Colour;
+                return colour;
             }
             set
             {
-                m_Colour = value;
+                colour = value;
             }
         }
 
@@ -25,11 +25,11 @@
         {
             get
             {
-                return m_Font;
+                return font;
             }
             set
             {
-                m_Font = value;
+                font = value;
             }
         }
 
@@ -37,11 +37,11 @@
         {
             get
             {
-                return m_Size;
+                return size;
             }
             set
             {
-                m_Size = value;
+                size = value;
             }
         }
 
@@ -49,11 +49,11 @@
         {
             get
             {
-                return m_Style;
+                return style;
             }
             set
             {
-                m_Style = value;
+                style = value;
             }
         }
     }

--- a/KerbalEngineer.Unity/UI/Window.cs
+++ b/KerbalEngineer.Unity/UI/Window.cs
@@ -10,16 +10,16 @@
     public class Window : MonoBehaviour, IBeginDragHandler, IDragHandler
     {
         [SerializeField]
-        private Text m_Title = null;
+        private Text title = null;
 
         [SerializeField]
-        private Transform m_Content = null;
+        private Transform content = null;
 
-        private Vector2 m_BeginMousePosition;
-        private Vector3 m_BeginWindowPosition;
-        private CanvasGroup m_CanvasGroup;
-        private RectTransform m_RectTransform;
-        private IEnumerator m_ScaleFadeCoroutine;
+        private Vector2 beginMousePosition;
+        private Vector3 beginWindowPosition;
+        private CanvasGroup canvasGroup;
+        private RectTransform rectTransform;
+        private IEnumerator scaleFadeCoroutine;
 
         /// <summary>
         ///     Gets the content transform.
@@ -28,7 +28,7 @@
         {
             get
             {
-                return m_Content;
+                return content;
             }
         }
 
@@ -39,28 +39,28 @@
         {
             get
             {
-                return m_RectTransform;
+                return rectTransform;
             }
         }
 
         public void OnBeginDrag(PointerEventData eventData)
         {
-            if (m_RectTransform == null)
+            if (rectTransform == null)
             {
                 return;
             }
 
             // cache starting positions
-            m_BeginMousePosition = eventData.position;
-            m_BeginWindowPosition = m_RectTransform.position;
+            beginMousePosition = eventData.position;
+            beginWindowPosition = rectTransform.position;
         }
 
         public void OnDrag(PointerEventData eventData)
         {
-            if (m_RectTransform != null)
+            if (rectTransform != null)
             {
                 // new position is the starting window position plus the delta of the current and starting mouse positions
-                m_RectTransform.position = m_BeginWindowPosition + (Vector3)(eventData.position - m_BeginMousePosition);
+                rectTransform.position = beginWindowPosition + (Vector3)(eventData.position - beginMousePosition);
             }
         }
 
@@ -69,9 +69,9 @@
         /// </summary>
         public void AddToContent(GameObject childObject)
         {
-            if (m_Content != null && childObject != null)
+            if (content != null && childObject != null)
             {
-                childObject.transform.SetParent(m_Content, false);
+                childObject.transform.SetParent(content, false);
             }
         }
 
@@ -88,9 +88,9 @@
         /// </summary>
         public void SetTitle(string title)
         {
-            if (m_Title != null)
+            if (this.title != null)
             {
-                m_Title.text = title;
+                this.title.text = title;
             }
         }
 
@@ -99,19 +99,19 @@
         /// </summary>
         public void SetWidth(float width)
         {
-            if (m_RectTransform != null)
+            if (rectTransform != null)
             {
-                Vector2 size = m_RectTransform.sizeDelta;
+                Vector2 size = rectTransform.sizeDelta;
                 size.x = width;
-                m_RectTransform.sizeDelta = size;
+                rectTransform.sizeDelta = size;
             }
         }
 
         protected virtual void Awake()
         {
             // component caching
-            m_RectTransform = GetComponent<RectTransform>();
-            m_CanvasGroup = GetComponent<CanvasGroup>();
+            rectTransform = GetComponent<RectTransform>();
+            canvasGroup = GetComponent<CanvasGroup>();
         }
 
         protected virtual void OnEnable()
@@ -125,13 +125,13 @@
         /// </summary>
         private void ScaleFade(float from, float to, Action callback)
         {
-            if (m_ScaleFadeCoroutine != null)
+            if (scaleFadeCoroutine != null)
             {
-                StopCoroutine(m_ScaleFadeCoroutine);
+                StopCoroutine(scaleFadeCoroutine);
             }
 
-            m_ScaleFadeCoroutine = ScaleFadeCoroutine(from, to, callback);
-            StartCoroutine(m_ScaleFadeCoroutine);
+            scaleFadeCoroutine = ScaleFadeCoroutine(from, to, callback);
+            StartCoroutine(scaleFadeCoroutine);
         }
 
         /// <summary>
@@ -151,9 +151,9 @@
                 transform.localScale = Vector3.one * value;
 
                 // fade if a canvas group is attached
-                if (m_CanvasGroup != null)
+                if (canvasGroup != null)
                 {
-                    m_CanvasGroup.alpha = Mathf.Clamp01(value);
+                    canvasGroup.alpha = Mathf.Clamp01(value);
                 }
 
                 yield return null;
@@ -164,7 +164,7 @@
                 callback.Invoke();
             }
 
-            m_ScaleFadeCoroutine = null;
+            scaleFadeCoroutine = null;
         }
     }
 }

--- a/KerbalEngineer/AppLauncherButton.cs
+++ b/KerbalEngineer/AppLauncherButton.cs
@@ -24,8 +24,8 @@
 
     public class AppLauncherButton : MonoBehaviour
     {
-        private static Texture s_IconTexture;
-        private ApplicationLauncherButton m_Button;
+        private static Texture iconTexture;
+        private ApplicationLauncherButton button;
 
         /// <summary>
         ///     Gets the wrapped application launcher button object.
@@ -34,7 +34,7 @@
         {
             get
             {
-                return m_Button;
+                return button;
             }
         }
 
@@ -45,13 +45,13 @@
         {
             get
             {
-                return m_Button != null &&
-                       m_Button.IsEnabled &&
-                       m_Button.toggleButton.CurrentState == UIRadioButton.State.True;
+                return button != null &&
+                       button.IsEnabled &&
+                       button.toggleButton.CurrentState == UIRadioButton.State.True;
             }
             set
             {
-                if (m_Button == null)
+                if (button == null)
                 {
                     return;
                 }
@@ -72,9 +72,9 @@
         /// </summary>
         public void Disable()
         {
-            if (m_Button != null && m_Button.IsEnabled)
-            {
-                m_Button.Disable();
+            if (button != null && button.IsEnabled)
+            {
+                button.Disable();
             }
         }
 
@@ -83,9 +83,9 @@
         /// </summary>
         public void Enable()
         {
-            if (m_Button != null && !m_Button.IsEnabled)
-            {
-                m_Button.Enable();
+            if (button != null && !button.IsEnabled)
+            {
+                button.Enable();
             }
         }
 
@@ -94,12 +94,12 @@
         /// </summary>
         public Vector3 GetAnchor()
         {
-            if (m_Button == null)
+            if (button == null)
             {
                 return Vector3.zero;
             }
 
-            Vector3 anchor = m_Button.GetAnchor();
+            Vector3 anchor = button.GetAnchor();
 
             anchor.x -= 3.0f;
 
@@ -113,9 +113,9 @@
         {
             Enable();
 
-            if (m_Button != null && m_Button.toggleButton.CurrentState != UIRadioButton.State.False)
-            {
-                m_Button.SetFalse();
+            if (button != null && button.toggleButton.CurrentState != UIRadioButton.State.False)
+            {
+                button.SetFalse();
             }
         }
 
@@ -126,18 +126,18 @@
         {
             Enable();
 
-            if (m_Button != null && m_Button.toggleButton.CurrentState != UIRadioButton.State.True)
-            {
-                m_Button.SetTrue();
+            if (button != null && button.toggleButton.CurrentState != UIRadioButton.State.True)
+            {
+                button.SetTrue();
             }
         }
 
         protected virtual void Awake()
         {
             // cache icon texture
-            if (s_IconTexture == null && AssetBundleLoader.Images != null)
-            {
-                s_IconTexture = AssetBundleLoader.Images.LoadAsset<Texture2D>("app-launcher-icon");
+            if (iconTexture == null && AssetBundleLoader.Images != null)
+            {
+                iconTexture = AssetBundleLoader.Images.LoadAsset<Texture2D>("app-launcher-icon");
             }
 
             // subscribe event listeners
@@ -197,7 +197,7 @@
             // create button
             if (ApplicationLauncher.Instance != null)
             {
-                m_Button = ApplicationLauncher.Instance.AddModApplication(OnTrue, OnFalse, OnHover, OnHoverOut, OnEnable, OnDisable, ApplicationLauncher.AppScenes.ALWAYS, s_IconTexture);
+                button = ApplicationLauncher.Instance.AddModApplication(OnTrue, OnFalse, OnHover, OnHoverOut, OnEnable, OnDisable, ApplicationLauncher.AppScenes.ALWAYS, iconTexture);
             }
 
             OnReady();
@@ -206,9 +206,9 @@
         private void OnGUIApplicationLauncherUnreadifying(GameScenes scene)
         {
             // remove button
-            if (ApplicationLauncher.Instance != null && m_Button != null)
-            {
-                ApplicationLauncher.Instance.RemoveModApplication(m_Button);
+            if (ApplicationLauncher.Instance != null && button != null)
+            {
+                ApplicationLauncher.Instance.RemoveModApplication(button);
             }
 
             OnUnreadifying();

--- a/KerbalEngineer/AssetBundleLoader.cs
+++ b/KerbalEngineer/AssetBundleLoader.cs
@@ -18,13 +18,14 @@
 
 namespace KerbalEngineer
 {
+    using System.IO;
     using UnityEngine;
 
     [KSPAddon(KSPAddon.Startup.Instantly, false)]
     public class AssetBundleLoader : MonoBehaviour
     {
-        private static AssetBundle s_Images;
-        private static AssetBundle s_Prefabs;
+        private static AssetBundle images;
+        private static AssetBundle prefabs;
 
         /// <summary>
         ///     Gets the loaded images asset bundle.
@@ -33,7 +34,7 @@
         {
             get
             {
-                return s_Images;
+                return images;
             }
         }
 
@@ -44,16 +45,18 @@
         {
             get
             {
-                return s_Prefabs;
+                return prefabs;
             }
         }
 
-        protected virtual void Awake()
+        protected virtual void Start()
         {
-            string bundlePath = EngineerGlobals.AssemblyPath;
+            string bundlePath = EngineerGlobals.AssemblyPath + "/AssetBundles/";
 
-            s_Images = AssetBundle.CreateFromFile(bundlePath + "/images");
-            s_Prefabs = AssetBundle.CreateFromFile(bundlePath + "/prefabs");
+            images = AssetBundle.LoadFromFile(bundlePath + "/images");
+            prefabs = AssetBundle.LoadFromFile(bundlePath + "/prefabs");
+
+            MyLogger.Log(images);
         }
     }
 }

--- a/KerbalEngineer/CelestialBodies.cs
+++ b/KerbalEngineer/CelestialBodies.cs
@@ -46,7 +46,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -64,7 +64,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
             return null;
         }
@@ -90,7 +90,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
             return false;
         }
@@ -118,7 +118,7 @@
                 }
                 catch (Exception ex)
                 {
-                    Logger.Exception(ex);
+                    MyLogger.Exception(ex);
                 }
             }
 
@@ -152,7 +152,7 @@
                 }
                 catch (Exception ex)
                 {
-                    Logger.Exception(ex);
+                    MyLogger.Exception(ex);
                 }
 
                 // A body with the specified name was not found.

--- a/KerbalEngineer/Control/ControlCentre.cs
+++ b/KerbalEngineer/Control/ControlCentre.cs
@@ -133,7 +133,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -147,7 +147,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -160,7 +160,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -236,7 +236,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 

--- a/KerbalEngineer/Editor/BuildAdvanced.cs
+++ b/KerbalEngineer/Editor/BuildAdvanced.cs
@@ -162,7 +162,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex, "BuildAdvanced.Awake()");
+                MyLogger.Exception(ex, "BuildAdvanced.Awake()");
             }
         }
 
@@ -171,7 +171,7 @@
         /// </summary>
         protected void OnDestroy()
         {
-            Logger.Log("BuildAdvanced->OnDestroy");
+            MyLogger.Log("BuildAdvanced->OnDestroy");
 
             try
             {
@@ -190,7 +190,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex, "BuildAdvanced.OnDestroy()");
+                MyLogger.Exception(ex, "BuildAdvanced.OnDestroy()");
             }
 
             EditorLock(false);
@@ -258,7 +258,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex, "BuildAdvanced.OnGUI()");
+                MyLogger.Exception(ex, "BuildAdvanced.OnGUI()");
             }
         }
 
@@ -271,7 +271,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex, "BuildAdvanced.Start()");
+                MyLogger.Exception(ex, "BuildAdvanced.Start()");
             }
         }
 
@@ -313,7 +313,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex, "BuildAdvanced.Update()");
+                MyLogger.Exception(ex, "BuildAdvanced.Update()");
             }
         }
 
@@ -359,7 +359,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex, "BuildAdvanced.DrawAtmosphericDetails()");
+                MyLogger.Exception(ex, "BuildAdvanced.DrawAtmosphericDetails()");
             }
         }
 
@@ -781,7 +781,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex, "BuildAdvanced.Load()");
+                MyLogger.Exception(ex, "BuildAdvanced.Load()");
             }
         }
 
@@ -890,7 +890,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex, "BuildAdvanced.Window()");
+                MyLogger.Exception(ex, "BuildAdvanced.Window()");
             }
         }
     }

--- a/KerbalEngineer/Editor/BuildOverlay.cs
+++ b/KerbalEngineer/Editor/BuildOverlay.cs
@@ -238,7 +238,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -262,7 +262,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 

--- a/KerbalEngineer/Editor/BuildOverlayPartInfo.cs
+++ b/KerbalEngineer/Editor/BuildOverlayPartInfo.cs
@@ -106,7 +106,7 @@
             catch (Exception ex)
 
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -137,7 +137,7 @@
                 }
                 else
                 {
-                    part = EditorLogic.fetch.ship.parts.Find(p => p.highlighter.highlighted) ?? EditorLogic.SelectedPart;
+                    part = EditorLogic.fetch.ship.parts.Find(p => p.HighlightActive) ?? EditorLogic.SelectedPart;
                 }
 
                 if (part != null)
@@ -192,7 +192,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -210,9 +210,9 @@
             if (moduleAlternator != null)
             {
                 infoItems.Add(PartInfoItem.Create("Alternator"));
-                for (int i = 0; i < moduleAlternator.outputResources.Count; ++i)
-                {
-                    moduleResource = moduleAlternator.outputResources[i];
+                for (int i = 0; i < moduleAlternator.resHandler.outputResources.Count; ++i)
+                {
+                    moduleResource = moduleAlternator.resHandler.outputResources[i];
                     infoItems.Add(PartInfoItem.Create("\t" + moduleResource.name, moduleResource.rate.ToRate()));
                 }
             }
@@ -267,21 +267,21 @@
             moduleGenerator = selectedPart.GetModule<ModuleGenerator>();
             if (moduleGenerator != null)
             {
-                if (moduleGenerator.inputList.Count > 0)
+                if (moduleGenerator.resHandler.inputResources.Count > 0)
                 {
                     infoItems.Add(PartInfoItem.Create("Generator Input"));
-                    for (int i = 0; i < moduleGenerator.inputList.Count; ++i)
-                    {
-                        generatorResource = moduleGenerator.inputList[i];
+                    for (int i = 0; i < moduleGenerator.resHandler.inputResources.Count; ++i)
+                    {
+                        generatorResource = moduleGenerator.resHandler.inputResources[i];
                         infoItems.Add(PartInfoItem.Create("\t" + generatorResource.name, generatorResource.rate.ToRate()));
                     }
                 }
-                if (moduleGenerator.outputList.Count > 0)
+                if (moduleGenerator.resHandler.outputResources.Count > 0)
                 {
                     infoItems.Add(PartInfoItem.Create("Generator Output"));
-                    for (int i = 0; i < moduleGenerator.outputList.Count; ++i)
-                    {
-                        generatorResource = moduleGenerator.outputList[i];
+                    for (int i = 0; i < moduleGenerator.resHandler.outputResources.Count; ++i)
+                    {
+                        generatorResource = moduleGenerator.resHandler.outputResources[i];
                         infoItems.Add(PartInfoItem.Create("\t" + generatorResource.name, generatorResource.rate.ToRate()));
                     }
                 }
@@ -339,9 +339,9 @@
                 infoItems.Add(PartInfoItem.Create("\tPitch", moduleReactionWheel.PitchTorque.ToTorque()));
                 infoItems.Add(PartInfoItem.Create("\tRoll", moduleReactionWheel.RollTorque.ToTorque()));
                 infoItems.Add(PartInfoItem.Create("\tYaw", moduleReactionWheel.YawTorque.ToTorque()));
-                for (int i = 0; i < moduleReactionWheel.inputResources.Count; ++i)
-                {
-                    moduleResource = moduleReactionWheel.inputResources[i];
+                for (int i = 0; i < moduleReactionWheel.resHandler.inputResources.Count; ++i)
+                {
+                    moduleResource = moduleReactionWheel.resHandler.inputResources[i];
                     infoItems.Add(PartInfoItem.Create("\t" + moduleResource.name, moduleResource.rate.ToRate()));
                 }
             }
@@ -350,9 +350,9 @@
         private void SetResourceItems()
         {
             bool visibleResources = false;
-            for (int i = 0; i < selectedPart.Resources.list.Count; ++i)
-            {
-                if (selectedPart.Resources.list[i].hideFlow == false)
+            for (int i = 0; i < selectedPart.Resources.dict.Count; ++i)
+            {
+                if (selectedPart.Resources.dict.At(i).hideFlow == false)
                 {
                     visibleResources = true;
                     break;
@@ -361,9 +361,9 @@
             if (visibleResources)
             {
                 infoItems.Add(PartInfoItem.Create("Resources"));
-                for (int i = 0; i < selectedPart.Resources.list.Count; ++i)
-                {
-                    partResource = selectedPart.Resources.list[i];
+                for (int i = 0; i < selectedPart.Resources.dict.Count; ++i)
+                {
+                    partResource = selectedPart.Resources.dict.At(i);
 
                     if (partResource.hideFlow == false)
                     {
@@ -423,7 +423,7 @@
                 {
                     infoItems.Add(PartInfoItem.Create("Breakable"));
                 }
-                if (moduleDeployableSolarPanel.sunTracking)
+                if (moduleDeployableSolarPanel.trackingBody == Sun.Instance)
                 {
                     infoItems.Add(PartInfoItem.Create("Sun Tracking"));
                 }
@@ -437,7 +437,9 @@
             {
                 infoItems.Add(PartInfoItem.Create("Packet Size", moduleDataTransmitter.packetSize.ToString("F2") + " Mits"));
                 infoItems.Add(PartInfoItem.Create("Bandwidth", (moduleDataTransmitter.packetInterval * moduleDataTransmitter.packetSize).ToString("F2") + "Mits/sec"));
-                infoItems.Add(PartInfoItem.Create(moduleDataTransmitter.requiredResource, moduleDataTransmitter.packetResourceCost.ToString("F2") + "/Packet"));
+
+                // TODO: allow for multiple consumed resources
+                infoItems.Add(PartInfoItem.Create(moduleDataTransmitter.GetConsumedResources()[0].name, moduleDataTransmitter.packetResourceCost.ToString("F2") + "/Packet"));
             }
         }
 
@@ -474,7 +476,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
     }

--- a/KerbalEngineer/Editor/BuildOverlayResources.cs
+++ b/KerbalEngineer/Editor/BuildOverlayResources.cs
@@ -87,7 +87,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -100,7 +100,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -118,7 +118,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
         #endregion
@@ -135,9 +135,9 @@
             for (int i = 0; i < EditorLogic.fetch.ship.parts.Count; ++i)
             {
                 part = EditorLogic.fetch.ship.parts[i];
-                for (int j = 0; j < part.Resources.list.Count; ++j)
-                {
-                    partResource = part.Resources.list[j];
+                for (int j = 0; j < part.Resources.dict.Count; ++j)
+                {
+                    partResource = part.Resources.dict.At(j);
 
                     if (resources.ContainsKey(partResource.info.id))
                     {
@@ -206,7 +206,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
         #endregion

--- a/KerbalEngineer/Editor/BuildOverlayVessel.cs
+++ b/KerbalEngineer/Editor/BuildOverlayVessel.cs
@@ -18,11 +18,13 @@
 // 
 
 #region Using Directives
+
 #endregion
 
 namespace KerbalEngineer.Editor
 {
     #region Using Directives
+
     using System;
     using System.Collections.Generic;
     using Helpers;
@@ -34,10 +36,13 @@
     public class BuildOverlayVessel : MonoBehaviour
     {
         #region Constants
+
         private const float Width = 175.0f;
+
         #endregion
 
         #region Fields
+
         private static bool visible = true;
 
         private readonly List<PartInfoItem> infoItems = new List<PartInfoItem>();
@@ -49,9 +54,11 @@
         private Rect tabPosition;
         private Vector2 tabSize;
         private Rect windowPosition = new Rect(330.0f, 0.0f, Width, 0.0f);
+
         #endregion
 
         #region Properties
+
         public static bool Visible
         {
             get
@@ -95,9 +102,11 @@
                 windowPosition.x = value;
             }
         }
+
         #endregion
 
         #region Methods
+
         protected void Awake()
         {
             try
@@ -107,7 +116,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -123,12 +132,12 @@
                 open = GUI.Toggle(tabPosition, open, tabContent, BuildOverlay.TabStyle);
                 if (openPercent > 0.0)
                 {
-                    windowPosition = GUILayout.Window(GetInstanceID(), windowPosition, VesselWindow, String.Empty, BuildOverlay.WindowStyle);
-                }
-            }
-            catch (Exception ex)
-            {
-                Logger.Exception(ex);
+                    windowPosition = GUILayout.Window(GetInstanceID(), windowPosition, VesselWindow, string.Empty, BuildOverlay.WindowStyle);
+                }
+            }
+            catch (Exception ex)
+            {
+                MyLogger.Exception(ex);
             }
         }
 
@@ -141,7 +150,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -163,7 +172,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -250,9 +259,10 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
-            }
-        }
+                MyLogger.Exception(ex);
+            }
+        }
+
         #endregion
     }
 }

--- a/KerbalEngineer/Extensions/PartExtensions.cs
+++ b/KerbalEngineer/Extensions/PartExtensions.cs
@@ -42,9 +42,9 @@
         /// </summary>
         public static bool ContainsResources(this Part part)
         {
-            for (int i = 0; i < part.Resources.list.Count; ++i)
-            {
-                if (part.Resources.list[i].amount > 0.0)
+            for (int i = 0; i < part.Resources.dict.Count; ++i)
+            {
+                if (part.Resources.dict.At(i).amount > 0.0)
                 {
                     return true;
                 }
@@ -311,9 +311,9 @@
         public static double GetResourceCost(this Part part)
         {
             double cost = 0.0;
-            for (int i = 0; i < part.Resources.list.Count; ++i)
-            {
-                PartResource cachePartResource = part.Resources.list[i];
+            for (int i = 0; i < part.Resources.dict.Count; ++i)
+            {
+                PartResource cachePartResource = part.Resources.dict.At(i);
                 cost = cost + (cachePartResource.amount * cachePartResource.info.unitCost);
             }
             return cost;
@@ -325,9 +325,9 @@
         public static double GetResourceCostInverted(this Part part)
         {
             double sum = 0;
-            for (int i = 0; i < part.Resources.list.Count; i++)
-            {
-                PartResource r = part.Resources.list[i];
+            for (int i = 0; i < part.Resources.dict.Count; i++)
+            {
+                PartResource r = part.Resources.dict.At(i);
                 sum += (r.maxAmount - r.amount) * r.info.unitCost;
             }
             return sum;
@@ -339,9 +339,9 @@
         public static double GetResourceCostMax(this Part part)
         {
             double cost = 0.0;
-            for (int i = 0; i < part.Resources.list.Count; ++i)
-            {
-                PartResource cachePartResource = part.Resources.list[i];
+            for (int i = 0; i < part.Resources.dict.Count; ++i)
+            {
+                PartResource cachePartResource = part.Resources.dict.At(i);
                 cost = cost + (cachePartResource.maxAmount * cachePartResource.info.unitCost);
             }
             return cost;

--- a/KerbalEngineer/Flight/ActionMenu.cs
+++ b/KerbalEngineer/Flight/ActionMenu.cs
@@ -52,9 +52,9 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
-            }
-            Logger.Log("ActionMenu was created.");
+                MyLogger.Exception(ex);
+            }
+            MyLogger.Log("ActionMenu was created.");
         }
 
         protected void Start()
@@ -79,9 +79,9 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
-            }
-            Logger.Log("ActionMenu was destroyed.");
+                MyLogger.Exception(ex);
+            }
+            MyLogger.Log("ActionMenu was destroyed.");
         }
 
         protected void Update()
@@ -103,7 +103,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -120,7 +120,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -145,7 +145,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -157,7 +157,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -170,7 +170,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -182,7 +182,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -194,7 +194,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -207,7 +207,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 

--- a/KerbalEngineer/Flight/ActionMenuGui.cs
+++ b/KerbalEngineer/Flight/ActionMenuGui.cs
@@ -56,11 +56,11 @@
             try
             {
                 this.enabled = false;
-                Logger.Log("ActionMenuGui was created.");
-            }
-            catch (Exception ex)
-            {
-                Logger.Exception(ex);
+                MyLogger.Log("ActionMenuGui was created.");
+            }
+            catch (Exception ex)
+            {
+                MyLogger.Exception(ex);
             }
         }
 
@@ -72,7 +72,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -117,7 +117,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex, "ActionMenu->InitialiseStyles");
+                MyLogger.Exception(ex, "ActionMenu->InitialiseStyles");
             }
         }
 
@@ -159,7 +159,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -183,7 +183,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -205,7 +205,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -226,7 +226,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -254,7 +254,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -266,11 +266,11 @@
         {
             try
             {
-                Logger.Log("ActionMenuGui was destroyed.");
-            }
-            catch (Exception ex)
-            {
-                Logger.Exception(ex);
+                MyLogger.Log("ActionMenuGui was destroyed.");
+            }
+            catch (Exception ex)
+            {
+                MyLogger.Exception(ex);
             }
         }
 

--- a/KerbalEngineer/Flight/DisplayStack.cs
+++ b/KerbalEngineer/Flight/DisplayStack.cs
@@ -107,7 +107,7 @@
                 {
                     Instance = this;
                     GuiDisplaySize.OnSizeChanged += this.OnSizeChanged;
-                    Logger.Log("ActionMenu->Awake");
+                    MyLogger.Log("ActionMenu->Awake");
                 }
                 else
                 {
@@ -116,7 +116,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -131,9 +131,9 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
-            }
-            Logger.Log("ActionMenu->OnDestroy");
+                MyLogger.Exception(ex);
+            }
+            MyLogger.Log("ActionMenu->OnDestroy");
         }
 
         /// <summary>
@@ -146,11 +146,11 @@
                 this.windowId = this.GetHashCode();
                 this.InitialiseStyles();
                 this.Load();
-                Logger.Log("ActionMenu->Start");
-            }
-            catch (Exception ex)
-            {
-                Logger.Exception(ex);
+                MyLogger.Log("ActionMenu->Start");
+            }
+            catch (Exception ex)
+            {
+                MyLogger.Exception(ex);
             }
         }
 
@@ -170,7 +170,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -211,7 +211,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -317,7 +317,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex, "DisplayStack->Load");
+                MyLogger.Exception(ex, "DisplayStack->Load");
             }
         }
 
@@ -343,7 +343,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex, "DisplayStack->Save");
+                MyLogger.Exception(ex, "DisplayStack->Save");
             }
         }
 
@@ -369,7 +369,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex, "DisplayStack->Window");
+                MyLogger.Exception(ex, "DisplayStack->Window");
             }
         }
 

--- a/KerbalEngineer/Flight/FlightAppLauncher.cs
+++ b/KerbalEngineer/Flight/FlightAppLauncher.cs
@@ -27,10 +27,10 @@
     [KSPAddon(KSPAddon.Startup.Flight, false)]
     public class FlightAppLauncher : AppLauncherButton, IFlightAppLauncher
     {
-        private static FlightAppLauncher s_Instance;
-        private FlightMenu m_FlightMenu;
-        private GameObject m_MenuObject;
-        private GameObject m_MenuPrefab;
+        private static FlightAppLauncher instance;
+        private FlightMenu flightMenu;
+        private GameObject menuObject;
+        private GameObject menuPrefab;
 
         /// <summary>
         ///     Gets the current instance of the FlightAppLauncher object.
@@ -39,7 +39,7 @@
         {
             get
             {
-                return s_Instance;
+                return instance;
             }
         }
 
@@ -145,12 +145,12 @@
             base.Awake();
 
             // set singleton instance
-            s_Instance = this;
+            instance = this;
 
             // cache menu prefab
-            if (m_MenuPrefab == null && AssetBundleLoader.Prefabs != null)
-            {
-                m_MenuPrefab = AssetBundleLoader.Prefabs.LoadAsset<GameObject>("FlightMenu");
+            if (menuPrefab == null && AssetBundleLoader.Prefabs != null)
+            {
+                menuPrefab = AssetBundleLoader.Prefabs.LoadAsset<GameObject>("FlightMenu");
             }
         }
 
@@ -194,13 +194,13 @@
         /// </summary>
         private void Close()
         {
-            if (m_FlightMenu != null)
-            {
-                m_FlightMenu.Close();
-            }
-            else if (m_MenuObject != null)
-            {
-                Destroy(m_MenuObject);
+            if (flightMenu != null)
+            {
+                flightMenu.Close();
+            }
+            else if (menuObject != null)
+            {
+                Destroy(menuObject);
             }
         }
 
@@ -210,34 +210,34 @@
         private void Open()
         {
             // fade menu in if already open
-            if (m_FlightMenu != null)
-            {
-                m_FlightMenu.FadeIn();
+            if (flightMenu != null)
+            {
+                flightMenu.FadeIn();
                 return;
             }
 
-            if (m_MenuPrefab == null || m_MenuObject != null)
+            if (menuPrefab == null || menuObject != null)
             {
                 return;
             }
 
             // create object
-            m_MenuObject = Instantiate(m_MenuPrefab, GetAnchor(), Quaternion.identity) as GameObject;
-            if (m_MenuObject == null)
+            menuObject = Instantiate(menuPrefab, GetAnchor(), Quaternion.identity) as GameObject;
+            if (menuObject == null)
             {
                 return;
             }
 
-            StyleManager.Process(m_MenuObject);
+            StyleManager.Process(menuObject);
 
             // set object as a child of the main canvas
-            m_MenuObject.transform.SetParent(MainCanvasUtil.MainCanvas.transform);
+            menuObject.transform.SetParent(MainCanvasUtil.MainCanvas.transform);
 
             // set menu's reference to this object for cross-communication
-            m_FlightMenu = m_MenuObject.GetComponent<FlightMenu>();
-            if (m_FlightMenu != null)
-            {
-                m_FlightMenu.SetFlightAppLauncher(this);
+            flightMenu = menuObject.GetComponent<FlightMenu>();
+            if (flightMenu != null)
+            {
+                flightMenu.SetFlightAppLauncher(this);
             }
         }
     }

--- a/KerbalEngineer/Flight/FlightEngineerCore.cs
+++ b/KerbalEngineer/Flight/FlightEngineerCore.cs
@@ -73,7 +73,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -101,7 +101,7 @@
                 }
                 catch (Exception ex)
                 {
-                    Logger.Exception(ex);
+                    MyLogger.Exception(ex);
                 }
             }
         }
@@ -155,7 +155,7 @@
                 }
                 catch (Exception ex)
                 {
-                    Logger.Exception(ex);
+                    MyLogger.Exception(ex);
                 }
             }
         }
@@ -180,7 +180,7 @@
                 }
                 catch (Exception ex)
                 {
-                    Logger.Exception(ex);
+                    MyLogger.Exception(ex);
                 }
             }
         }
@@ -219,7 +219,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
                 return null;
             }
         }
@@ -239,7 +239,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
                 return null;
             }
         }
@@ -258,7 +258,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -277,11 +277,11 @@
 
                 SimManager.UpdateModSettings();
 
-                Logger.Log("FlightEngineerCore->Awake");
-            }
-            catch (Exception ex)
-            {
-                Logger.Exception(ex);
+                MyLogger.Log("FlightEngineerCore->Awake");
+            }
+            catch (Exception ex)
+            {
+                MyLogger.Exception(ex);
             }
         }
 
@@ -301,7 +301,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -326,11 +326,11 @@
                     Destroy(editor);
                 }
 
-                Logger.Log("FlightEngineerCore->OnDestroy");
-            }
-            catch (Exception ex)
-            {
-                Logger.Exception(ex);
+                MyLogger.Log("FlightEngineerCore->OnDestroy");
+            }
+            catch (Exception ex)
+            {
+                MyLogger.Exception(ex);
             }
         }
 
@@ -343,11 +343,11 @@
             {
                 SectionLibrary.Load();
                 ReadoutLibrary.Reset();
-                Logger.Log("FlightEngineerCore->Start");
-            }
-            catch (Exception ex)
-            {
-                Logger.Exception(ex);
+                MyLogger.Log("FlightEngineerCore->Start");
+            }
+            catch (Exception ex)
+            {
+                MyLogger.Exception(ex);
             }
         }
 
@@ -368,7 +368,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -398,7 +398,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 

--- a/KerbalEngineer/Flight/Readouts/ReadoutLibrary.cs
+++ b/KerbalEngineer/Flight/Readouts/ReadoutLibrary.cs
@@ -200,7 +200,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -262,7 +262,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
     }

--- a/KerbalEngineer/Flight/Readouts/Surface/AtmosphericProcessor.cs
+++ b/KerbalEngineer/Flight/Readouts/Surface/AtmosphericProcessor.cs
@@ -140,7 +140,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex, "AtmosphericProcessor->Update");
+                MyLogger.Exception(ex, "AtmosphericProcessor->Update");
             }
         }
 
@@ -182,19 +182,19 @@
                         case "FerramAerospaceResearch":
                             this.farTerminalVelocity = loadedAssembly.assembly.GetType("ferram4.FARAPI").GetMethod("GetActiveControlSys_TermVel");
                             FarInstalled = true;
-                            Logger.Log("FAR detected!");
+                            MyLogger.Log("FAR detected!");
                             break;
 
                         case "NEAR":
                             NearInstalled = true;
-                            Logger.Log("NEAR detected! Turning off atmospheric details!");
+                            MyLogger.Log("NEAR detected! Turning off atmospheric details!");
                             break;
                     }
                 }
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex, "AtmosphericProcessor->CheckAeroMods");
+                MyLogger.Exception(ex, "AtmosphericProcessor->CheckAeroMods");
             }
         }
 

--- a/KerbalEngineer/Flight/Readouts/Surface/Slope.cs
+++ b/KerbalEngineer/Flight/Readouts/Surface/Slope.cs
@@ -102,7 +102,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex, "Surface->Slope->GetSlopeAngleAndHeading");
+                MyLogger.Exception(ex, "Surface->Slope->GetSlopeAngleAndHeading");
                 return "--° @ ---°";
             }
         }

--- a/KerbalEngineer/Flight/Readouts/Vessel/AttitudeProcessor.cs
+++ b/KerbalEngineer/Flight/Readouts/Vessel/AttitudeProcessor.cs
@@ -121,7 +121,7 @@
         private Quaternion GetSurfaceRotation()
         {
             // This code was derived from MechJeb2's implementation for getting the vessel's surface relative rotation.
-            this.centreOfMass = FlightGlobals.ActiveVessel.findWorldCenterOfMass();
+            this.centreOfMass = FlightGlobals.ActiveVessel.CoMD;
             this.up = (this.centreOfMass - FlightGlobals.ActiveVessel.mainBody.position).normalized;
             this.north = Vector3.ProjectOnPlane((FlightGlobals.ActiveVessel.mainBody.position + FlightGlobals.ActiveVessel.mainBody.transform.up * (float)FlightGlobals.ActiveVessel.mainBody.Radius) - this.centreOfMass, this.up).normalized;
 

--- a/KerbalEngineer/Flight/Sections/SectionEditor.cs
+++ b/KerbalEngineer/Flight/Sections/SectionEditor.cs
@@ -92,7 +92,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -106,7 +106,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -122,7 +122,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -519,7 +519,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 

--- a/KerbalEngineer/GuiDisplaySize.cs
+++ b/KerbalEngineer/GuiDisplaySize.cs
@@ -58,7 +58,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex, "GuiDisplaySize->GuiDisplaySize");
+                MyLogger.Exception(ex, "GuiDisplaySize->GuiDisplaySize");
             }
         }
 
@@ -87,7 +87,7 @@
                 }
                 catch (Exception ex)
                 {
-                    Logger.Exception(ex, "GuiDisplaySize->Multiplier");
+                    MyLogger.Exception(ex, "GuiDisplaySize->Multiplier");
                 }
             }
         }
@@ -113,7 +113,7 @@
                 }
                 catch (Exception ex)
                 {
-                    Logger.Exception(ex, "GuiDisplaySize->Increment");
+                    MyLogger.Exception(ex, "GuiDisplaySize->Increment");
                 }
             }
         }

--- a/KerbalEngineer/Helpers/XmlHelper.cs
+++ b/KerbalEngineer/Helpers/XmlHelper.cs
@@ -25,7 +25,7 @@
                 }
                 catch (Exception ex)
                 {
-                    Logger.Exception(ex);
+                    MyLogger.Exception(ex);
                 }
             }
 
@@ -60,7 +60,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
     }

--- a/KerbalEngineer/KerbalEngineer.csproj
+++ b/KerbalEngineer/KerbalEngineer.csproj
@@ -161,7 +161,7 @@
     <Compile Include="Settings\SettingsWindow.cs" />
     <Compile Include="StyleManager.cs" />
     <Compile Include="UIControls\DropDown.cs" />
-    <Compile Include="Logger.cs" />
+    <Compile Include="MyLogger.cs" />
     <Compile Include="EngineerGlobals.cs" />
     <Compile Include="Extensions\DoubleExtensions.cs" />
     <Compile Include="Extensions\PartExtensions.cs" />
@@ -246,23 +246,15 @@
   </ItemGroup>
   <ItemGroup>
     <Reference Include="Assembly-CSharp">
-      <HintPath>..\..\Game\KSP_Data\Managed\Assembly-CSharp.dll</HintPath>
+      <HintPath>..\..\Game\KSP_x64_Data\Managed\Assembly-CSharp.dll</HintPath>
       <Private>False</Private>
     </Reference>
     <Reference Include="Assembly-CSharp-firstpass">
-      <HintPath>..\..\game\KSP_Data\Managed\Assembly-CSharp-firstpass.dll</HintPath>
+      <HintPath>..\..\Game\KSP_x64_Data\Managed\Assembly-CSharp-firstpass.dll</HintPath>
       <Private>False</Private>
     </Reference>
     <Reference Include="KSPAssets">
-      <HintPath>..\..\game\KSP_Data\Managed\KSPAssets.dll</HintPath>
-      <Private>False</Private>
-    </Reference>
-    <Reference Include="KSPCore">
-      <HintPath>..\..\game\KSP_Data\Managed\KSPCore.dll</HintPath>
-      <Private>False</Private>
-    </Reference>
-    <Reference Include="KSPUtil">
-      <HintPath>..\..\game\KSP_Data\Managed\KSPUtil.dll</HintPath>
+      <HintPath>..\..\Game\KSP_x64_Data\Managed\KSPAssets.dll</HintPath>
       <Private>False</Private>
     </Reference>
     <Reference Include="System">
@@ -274,11 +266,11 @@
       <Private>False</Private>
     </Reference>
     <Reference Include="UnityEngine">
-      <HintPath>..\..\Game\KSP_Data\Managed\UnityEngine.dll</HintPath>
+      <HintPath>..\..\Game\KSP_x64_Data\Managed\UnityEngine.dll</HintPath>
       <Private>False</Private>
     </Reference>
     <Reference Include="UnityEngine.UI">
-      <HintPath>..\..\game\KSP_Data\Managed\UnityEngine.UI.dll</HintPath>
+      <HintPath>..\..\Game\KSP_x64_Data\Managed\UnityEngine.UI.dll</HintPath>
       <Private>False</Private>
     </Reference>
   </ItemGroup>
@@ -286,7 +278,7 @@
     <ProjectReference Include="..\KerbalEngineer.Unity\KerbalEngineer.Unity.csproj">
       <Project>{5387bb1e-32b1-4bac-b03f-100570b9554c}</Project>
       <Name>KerbalEngineer.Unity</Name>
-      <Private>False</Private>
+      <Private>True</Private>
     </ProjectReference>
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
@@ -303,7 +295,8 @@
         $(PostBuildEventDependsOn);
         PostBuildMacros;
       </PostBuildEventDependsOn>
-    <PostBuildEvent>xcopy "$(SolutionDir)Output\*" "$(SolutionDir)..\Game\GameData\*" /E /Y
+    <PostBuildEvent>xcopy "$(SolutionDir)AssetBundles\*" "$(SolutionDir)Output\KerbalEngineer\AssetBundles\*" /E /Y
+xcopy "$(SolutionDir)Output\*" "$(SolutionDir)..\Game\GameData\*" /E /Y
 del "$(SolutionDir)Release\*" /Q
 xcopy "$(SolutionDir)Documents\*" "$(SolutionDir)Release\Documents\*" /E /Y
 7z.exe a -tzip -mx3 "$(SolutionDir)Release\$(ProjectName)-@(VersionNumber).zip" "$(SolutionDir)Output\*"

--- a/KerbalEngineer/LogMsg.cs
+++ b/KerbalEngineer/LogMsg.cs
@@ -15,7 +15,7 @@
         {
             if (this.buf.Length > 0)
             {
-                Logger.Log(this.buf);
+                MyLogger.Log(this.buf);
             }
             this.buf.Length = 0;
         }

--- a/KerbalEngineer/Logger.cs
+++ /dev/null
@@ -1,233 +1,1 @@
-// 
-//     Kerbal Engineer Redux
-// 
-//     Copyright (C) 2014 CYBUTEK
-// 
-//     This program is free software: you can redistribute it and/or modify
-//     it under the terms of the GNU General Public License as published by
-//     the Free Software Foundation, either version 3 of the License, or
-//     (at your option) any later version.
-// 
-//     This program is distributed in the hope that it will be useful,
-//     but WITHOUT ANY WARRANTY; without even the implied warranty of
-//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//     GNU General Public License for more details.
-// 
-//     You should have received a copy of the GNU General Public License
-//     along with this program.  If not, see <http://www.gnu.org/licenses/>.
-// 
 
-#region Using Directives
-
-#endregion
-
-namespace KerbalEngineer
-{
-    using System;
-    using System.Collections;
-    using System.Collections.Generic;
-    using System.IO;
-    using System.Reflection;
-    using UnityEngine;
-
-    [KSPAddon(KSPAddon.Startup.Instantly, false)]
-    public class Logger : MonoBehaviour
-    {
-        #region Fields
-
-        private static readonly List<string[]> messages = new List<string[]>();
-
-        #endregion
-
-        #region Constants
-
-        private static readonly string fileName;
-        private static readonly AssemblyName assemblyName;
-
-        #endregion
-
-        #region Initialisation
-
-        static Logger()
-        {
-            assemblyName = Assembly.GetExecutingAssembly().GetName();
-            fileName = Path.ChangeExtension(Assembly.GetExecutingAssembly().Location, "log");
-            File.Delete(fileName);
-
-            lock (messages)
-            {
-                messages.Add(new[] {"Executing: " + assemblyName.Name + " - " + assemblyName.Version});
-                messages.Add(new[] {"Assembly: " + Assembly.GetExecutingAssembly().Location});
-            }
-            Blank();
-        }
-
-        private void Awake()
-        {
-            DontDestroyOnLoad(this);
-        }
-
-        #endregion
-
-        #region Printing
-
-        public static void Blank()
-        {
-            lock (messages)
-            {
-                messages.Add(new string[] {});
-            }
-        }
-
-        public static void Log(object obj)
-        {
-            lock (messages)
-            {
-                try
-                {
-                    messages.Add(new[] {"Log " + DateTime.Now.TimeOfDay, GetObjString(obj)});
-                }
-                catch (Exception ex)
-                {
-                    Exception(ex);
-                }
-            }
-        }
-
-        public static void Log(string name, object obj)
-        {
-            lock (messages)
-            {
-                try
-                {
-                    messages.Add(new[] {"Log " + DateTime.Now.TimeOfDay, name + "\n" + GetObjString(obj)});
-                }
-                catch (Exception ex)
-                {
-                    Exception(ex);
-                }
-            }
-        }
-
-        private static string GetObjString(object obj, int tabs = 0)
-        {
-            string objString;
-            string tabString = string.Empty;
-            for (int i = 0; i < tabs; i++)
-            {
-                tabString += " ";
-            }
-
-            if (obj != null)
-            {
-                objString = tabString + obj;
-
-                IEnumerable items = obj as IEnumerable;
-                if (items != null)
-                {
-                    foreach (object item in items)
-                    {
-                        objString += "\n" + GetObjString(item, tabs + 1);
-                    }
-                }
-            }
-            else
-            {
-                objString = "Null";
-            }
-
-            return objString;
-        }
-
-        public static void Log(string message)
-        {
-            lock (messages)
-            {
-                messages.Add(new[] {"Log " + DateTime.Now.TimeOfDay, message});
-            }
-        }
-
-        public static void Warning(string message)
-        {
-            lock (messages)
-            {
-                messages.Add(new[] {"Warning " + DateTime.Now.TimeOfDay, message});
-            }
-        }
-
-        public static void Error(string message)
-        {
-            lock (messages)
-            {
-                messages.Add(new[] {"Error " + DateTime.Now.TimeOfDay, message});
-            }
-        }
-
-        public static void Exception(Exception ex)
-        {
-            lock (messages)
-            {
-                messages.Add(new[] {"Exception " + DateTime.Now.TimeOfDay, ex.Message});
-                messages.Add(new[] {string.Empty, ex.StackTrace});
-                Blank();
-            }
-        }
-
-        public static void Exception(Exception ex, string location)
-        {
-            lock (messages)
-            {
-                messages.Add(new[] {"Exception " + DateTime.Now.TimeOfDay, location + " // " + ex.Message});
-                messages.Add(new[] {string.Empty, ex.StackTrace});
-                Blank();
-            }
-        }
-
-        #endregion
-
-        #region Flushing
-
-        public static void Flush()
-        {
-            lock (messages)
-            {
-                if (messages.Count > 0)
-                {
-                    using (StreamWriter file = File.AppendText(fileName))
-                    {
-                        foreach (string[] message in messages)
-                        {
-                            file.WriteLine(message.Length > 0 ? message.Length > 1 ? "[" + message[0] + "]: " + message[1] : message[0] : string.Empty);
-                            if (message.Length > 0)
-                            {
-                                print(message.Length > 1 ? assemblyName.Name + " -> " + message[1] : assemblyName.Name + " -> " + message[0]);
-                            }
-                        }
-                    }
-                    messages.Clear();
-                }
-            }
-        }
-
-        private void LateUpdate()
-        {
-            Flush();
-        }
-
-        #endregion
-
-        #region Destruction
-
-        private void OnDestroy()
-        {
-            Flush();
-        }
-
-        ~Logger()
-        {
-            Flush();
-        }
-
-        #endregion
-    }
-}

--- /dev/null
+++ b/KerbalEngineer/MyLogger.cs
@@ -1,1 +1,233 @@
-
+// 
+//     Kerbal Engineer Redux
+// 
+//     Copyright (C) 2014 CYBUTEK
+// 
+//     This program is free software: you can redistribute it and/or modify
+//     it under the terms of the GNU General Public License as published by
+//     the Free Software Foundation, either version 3 of the License, or
+//     (at your option) any later version.
+// 
+//     This program is distributed in the hope that it will be useful,
+//     but WITHOUT ANY WARRANTY; without even the implied warranty of
+//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//     GNU General Public License for more details.
+// 
+//     You should have received a copy of the GNU General Public License
+//     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// 
+
+#region Using Directives
+
+#endregion
+
+namespace KerbalEngineer
+{
+    using System;
+    using System.Collections;
+    using System.Collections.Generic;
+    using System.IO;
+    using System.Reflection;
+    using UnityEngine;
+
+    [KSPAddon(KSPAddon.Startup.Instantly, false)]
+    public class MyLogger : MonoBehaviour
+    {
+        #region Fields
+
+        private static readonly List<string[]> messages = new List<string[]>();
+
+        #endregion
+
+        #region Constants
+
+        private static readonly string fileName;
+        private static readonly AssemblyName assemblyName;
+
+        #endregion
+
+        #region Initialisation
+
+        static MyLogger()
+        {
+            assemblyName = Assembly.GetExecutingAssembly().GetName();
+            fileName = Path.ChangeExtension(Assembly.GetExecutingAssembly().Location, "log");
+            File.Delete(fileName);
+
+            lock (messages)
+            {
+                messages.Add(new[] { "Executing: " + assemblyName.Name + " - " + assemblyName.Version });
+                messages.Add(new[] { "Assembly: " + Assembly.GetExecutingAssembly().Location });
+            }
+            Blank();
+        }
+
+        private void Awake()
+        {
+            DontDestroyOnLoad(this);
+        }
+
+        #endregion
+
+        #region Printing
+
+        public static void Blank()
+        {
+            lock (messages)
+            {
+                messages.Add(new string[] { });
+            }
+        }
+
+        public static void Log(object obj)
+        {
+            lock (messages)
+            {
+                try
+                {
+                    messages.Add(new[] { "Log " + DateTime.Now.TimeOfDay, GetObjString(obj) });
+                }
+                catch (Exception ex)
+                {
+                    Exception(ex);
+                }
+            }
+        }
+
+        public static void Log(string name, object obj)
+        {
+            lock (messages)
+            {
+                try
+                {
+                    messages.Add(new[] { "Log " + DateTime.Now.TimeOfDay, name + "\n" + GetObjString(obj) });
+                }
+                catch (Exception ex)
+                {
+                    Exception(ex);
+                }
+            }
+        }
+
+        private static string GetObjString(object obj, int tabs = 0)
+        {
+            string objString;
+            string tabString = string.Empty;
+            for (int i = 0; i < tabs; i++)
+            {
+                tabString += " ";
+            }
+
+            if (obj != null)
+            {
+                objString = tabString + obj;
+
+                IEnumerable items = obj as IEnumerable;
+                if (items != null)
+                {
+                    foreach (object item in items)
+                    {
+                        objString += "\n" + GetObjString(item, tabs + 1);
+                    }
+                }
+            }
+            else
+            {
+                objString = "Null";
+            }
+
+            return objString;
+        }
+
+        public static void Log(string message)
+        {
+            lock (messages)
+            {
+                messages.Add(new[] { "Log " + DateTime.Now.TimeOfDay, message });
+            }
+        }
+
+        public static void Warning(string message)
+        {
+            lock (messages)
+            {
+                messages.Add(new[] { "Warning " + DateTime.Now.TimeOfDay, message });
+            }
+        }
+
+        public static void Error(string message)
+        {
+            lock (messages)
+            {
+                messages.Add(new[] { "Error " + DateTime.Now.TimeOfDay, message });
+            }
+        }
+
+        public static void Exception(Exception ex)
+        {
+            lock (messages)
+            {
+                messages.Add(new[] { "Exception " + DateTime.Now.TimeOfDay, ex.Message });
+                messages.Add(new[] { string.Empty, ex.StackTrace });
+                Blank();
+            }
+        }
+
+        public static void Exception(Exception ex, string location)
+        {
+            lock (messages)
+            {
+                messages.Add(new[] { "Exception " + DateTime.Now.TimeOfDay, location + " // " + ex.Message });
+                messages.Add(new[] { string.Empty, ex.StackTrace });
+                Blank();
+            }
+        }
+
+        #endregion
+
+        #region Flushing
+
+        public static void Flush()
+        {
+            lock (messages)
+            {
+                if (messages.Count > 0)
+                {
+                    using (StreamWriter file = File.AppendText(fileName))
+                    {
+                        foreach (string[] message in messages)
+                        {
+                            file.WriteLine(message.Length > 0 ? message.Length > 1 ? "[" + message[0] + "]: " + message[1] : message[0] : string.Empty);
+                            if (message.Length > 0)
+                            {
+                                print(message.Length > 1 ? assemblyName.Name + " -> " + message[1] : assemblyName.Name + " -> " + message[0]);
+                            }
+                        }
+                    }
+                    messages.Clear();
+                }
+            }
+        }
+
+        private void LateUpdate()
+        {
+            Flush();
+        }
+
+        #endregion
+
+        #region Destruction
+
+        private void OnDestroy()
+        {
+            Flush();
+        }
+
+        ~MyLogger()
+        {
+            Flush();
+        }
+
+        #endregion
+    }
+}

--- a/KerbalEngineer/Settings/SettingHandler.cs
+++ b/KerbalEngineer/Settings/SettingHandler.cs
@@ -253,7 +253,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 

--- a/KerbalEngineer/StyleManager.cs
+++ b/KerbalEngineer/StyleManager.cs
@@ -25,8 +25,8 @@
 
     public static class StyleManager
     {
-        private static GameObject s_WindowPrefab;
-        private static GameObject s_SettingPrefab;
+        private static GameObject windowPrefab;
+        private static GameObject settingPrefab;
 
         /// <summary>
         ///     Creates a setting on the supplied window.
@@ -54,7 +54,7 @@
 
             return setting;
         }
-
+        
         /// <summary>
         ///     Creates and returns a new window object.
         /// </summary>
@@ -126,12 +126,12 @@
         /// </summary>
         private static GameObject GetSettingPrefab()
         {
-            if (s_SettingPrefab == null)
-            {
-                s_SettingPrefab = AssetBundleLoader.Prefabs.LoadAsset<GameObject>("Setting");
-            }
-
-            return s_SettingPrefab;
+            if (settingPrefab == null)
+            {
+                settingPrefab = AssetBundleLoader.Prefabs.LoadAsset<GameObject>("Setting");
+            }
+
+            return settingPrefab;
         }
 
         /// <summary>
@@ -161,12 +161,12 @@
         /// </summary>
         private static GameObject GetWindowPrefab()
         {
-            if (s_WindowPrefab == null)
-            {
-                s_WindowPrefab = AssetBundleLoader.Prefabs.LoadAsset<GameObject>("Window");
-            }
-
-            return s_WindowPrefab;
+            if (windowPrefab == null)
+            {
+                windowPrefab = AssetBundleLoader.Prefabs.LoadAsset<GameObject>("Window");
+            }
+
+            return windowPrefab;
         }
 
         /// <summary>

--- a/KerbalEngineer/TapeDriveAnimator.cs
+++ b/KerbalEngineer/TapeDriveAnimator.cs
@@ -98,36 +98,37 @@
         [KSPField]
         public bool UseBakedAnimation = false;
 
-        private Shader m_ButtonLightOffShader;
-        private Shader m_ButtonLightOnShader;
-        private Material m_ButtonSet1Material;
-        private Material m_ButtonSet2Material;
-        private Material m_ButtonSet3Material;
-        private Material m_ButtonSet4Material;
-        private Material m_ButtonSet5Material;
-        private Material m_ButtonSet6Material;
-        private float m_CurrentTime;
-        private float m_DeltaTime;
-        private bool m_IsRunning;
-        private Random m_Random;
-        private Transform m_Reel1Transform;
-        private Transform m_Reel2Transform;
-        private float m_RepeatTime;
-        private bool m_SceneIsEditor;
-        private float m_Speed;
-        private float m_TargetSpeed;
+        private Shader buttonLightOffShader;
+        private Shader buttonLightOnShader;
+        private Material buttonSet1Material;
+        private Material buttonSet2Material;
+        private Material buttonSet3Material;
+        private Material buttonSet4Material;
+        private Material buttonSet5Material;
+        private Material buttonSet6Material;
+        private float currentTime;
+        private float deltaTime;
+        private bool isRunning;
+        private Random random;
+        private Transform reel1Transform;
+        private Transform reel2Transform;
+        private float repeatTime;
+        private bool sceneIsEditor;
+        private float speed;
+        private float targetSpeed;
 
         public bool IsRunning
         {
             get
             {
-                return m_IsRunning;
+                return isRunning;
+                return isRunning;
             }
             set
             {
-                m_IsRunning = value;
-
-                if (m_IsRunning)
+                isRunning = value;
+
+                if (isRunning)
                 {
                     if (UseBakedAnimation)
                     {
@@ -146,7 +147,7 @@
 
         public override void OnStart(StartState state)
         {
-            m_Random = new Random();
+            random = new Random();
 
             StopBakedAnimation();
             IsRunning = false;
@@ -156,7 +157,7 @@
                 part.OnEditorAttach += OnEditorAttach;
                 part.OnEditorDetach += OnEditorDetach;
 
-                m_SceneIsEditor = true;
+                sceneIsEditor = true;
 
                 if (part.parent != null)
                 {
@@ -182,7 +183,7 @@
                 return;
             }
 
-            m_DeltaTime = m_SceneIsEditor ? Time.deltaTime : TimeWarp.deltaTime;
+            deltaTime = sceneIsEditor ? Time.deltaTime : TimeWarp.deltaTime;
 
             if (TimeWarp.CurrentRate != 1.0f && TimeWarp.WarpMode != TimeWarp.Modes.LOW)
             {
@@ -198,9 +199,9 @@
             }
             else
             {
-                m_TargetSpeed = 0;
-
-                if (m_Speed != 0)
+                targetSpeed = 0;
+
+                if (speed != 0)
                 {
                     UpdateSpeed();
                     UpdateReels();
@@ -244,27 +245,27 @@
 
         private void InitialiseLights()
         {
-            m_ButtonSet1Material = GetMaterialOnModelTransform(Lights1);
-            m_ButtonSet2Material = GetMaterialOnModelTransform(Lights2);
-            m_ButtonSet3Material = GetMaterialOnModelTransform(Lights3);
-            m_ButtonSet4Material = GetMaterialOnModelTransform(Lights4);
-            m_ButtonSet5Material = GetMaterialOnModelTransform(Lights5);
-            m_ButtonSet6Material = GetMaterialOnModelTransform(Lights6);
-
-            m_ButtonLightOffShader = Shader.Find("KSP/Specular");
-            m_ButtonLightOnShader = Shader.Find("KSP/Unlit");
+            buttonSet1Material = GetMaterialOnModelTransform(Lights1);
+            buttonSet2Material = GetMaterialOnModelTransform(Lights2);
+            buttonSet3Material = GetMaterialOnModelTransform(Lights3);
+            buttonSet4Material = GetMaterialOnModelTransform(Lights4);
+            buttonSet5Material = GetMaterialOnModelTransform(Lights5);
+            buttonSet6Material = GetMaterialOnModelTransform(Lights6);
+
+            buttonLightOffShader = Shader.Find("KSP/Specular");
+            buttonLightOnShader = Shader.Find("KSP/Unlit");
         }
 
         private void InitialiseReels()
         {
             if (string.IsNullOrEmpty(Reel1) == false)
             {
-                m_Reel1Transform = part.FindModelTransform(Reel1);
+                reel1Transform = part.FindModelTransform(Reel1);
             }
 
             if (string.IsNullOrEmpty(Reel2) == false)
             {
-                m_Reel2Transform = part.FindModelTransform(Reel2);
+                reel2Transform = part.FindModelTransform(Reel2);
             }
         }
 
@@ -296,7 +297,7 @@
 
         private void Update()
         {
-            if (m_SceneIsEditor)
+            if (sceneIsEditor)
             {
                 OnUpdate();
             }
@@ -313,90 +314,90 @@
 
             if (targetSpeed > 0)
             {
-                lightsOn = (m_Speed > targetSpeed);
+                lightsOn = (speed > targetSpeed);
             }
             else if (targetSpeed < 0)
             {
-                lightsOn = (m_Speed < targetSpeed);
+                lightsOn = (speed < targetSpeed);
             }
             else
             {
-                lightsOn = (m_Speed == 0);
-            }
-
-            SetShaderOnMaterial(material, lightsOn ? m_ButtonLightOnShader : m_ButtonLightOffShader);
+                lightsOn = (speed == 0);
+            }
+
+            SetShaderOnMaterial(material, lightsOn ? buttonLightOnShader : buttonLightOffShader);
         }
 
         private void UpdateLights()
         {
-            UpdateButtonMaterial(m_ButtonSet1Material, Lights1Speed);
-            UpdateButtonMaterial(m_ButtonSet2Material, Lights2Speed);
-            UpdateButtonMaterial(m_ButtonSet3Material, Lights3Speed);
-            UpdateButtonMaterial(m_ButtonSet4Material, Lights4Speed);
-            UpdateButtonMaterial(m_ButtonSet5Material, Lights5Speed);
-            UpdateButtonMaterial(m_ButtonSet6Material, Lights6Speed);
+            UpdateButtonMaterial(buttonSet1Material, Lights1Speed);
+            UpdateButtonMaterial(buttonSet2Material, Lights2Speed);
+            UpdateButtonMaterial(buttonSet3Material, Lights3Speed);
+            UpdateButtonMaterial(buttonSet4Material, Lights4Speed);
+            UpdateButtonMaterial(buttonSet5Material, Lights5Speed);
+            UpdateButtonMaterial(buttonSet6Material, Lights6Speed);
         }
 
         private void UpdateReels()
         {
-            if (m_Reel1Transform != null && m_Speed != 0)
-            {
-                m_Reel1Transform.transform.Rotate(Vector3.right, m_Speed * Reel1SpeedRatio);
-            }
-
-            if (m_Reel2Transform != null && m_Speed != 0)
-            {
-                m_Reel2Transform.transform.Rotate(Vector3.right, m_Speed * Reel2SpeedRatio);
+            if (reel1Transform != null && speed != 0)
+            {
+                reel1Transform.transform.Rotate(Vector3.right, speed * Reel1SpeedRatio);
+            }
+
+            if (reel2Transform != null && speed != 0)
+            {
+                reel2Transform.transform.Rotate(Vector3.right, speed * Reel2SpeedRatio);
             }
         }
 
         private void UpdateSpeed()
         {
-            if (m_Speed < m_TargetSpeed)
-            {
-                if (m_Speed < m_TargetSpeed - SpeedDeadZone)
-                {
-                    m_Speed += SpeedChangeAmount * m_DeltaTime;
+            if (speed < targetSpeed)
+            {
+                if (speed < targetSpeed - SpeedDeadZone)
+                {
+                    speed += SpeedChangeAmount * deltaTime;
                 }
                 else
                 {
-                    m_Speed = m_TargetSpeed;
-                }
-            }
-            else if (m_Speed > m_TargetSpeed)
-            {
-                if (m_Speed > m_TargetSpeed + SpeedDeadZone)
-                {
-                    m_Speed -= SpeedChangeAmount * m_DeltaTime;
+                    speed = targetSpeed;
+                }
+            }
+            else if (speed > targetSpeed)
+            {
+                if (speed > targetSpeed + SpeedDeadZone)
+                {
+                    speed -= SpeedChangeAmount * deltaTime;
                 }
                 else
                 {
-                    m_Speed = m_TargetSpeed;
+                    speed = targetSpeed;
                 }
             }
         }
 
         private void UpdateTimerCycle()
         {
-            m_CurrentTime += m_DeltaTime;
-
-            if (m_CurrentTime >= m_RepeatTime)
-            {
-                m_TargetSpeed = m_Random.Next(MinReelSpeed, MaxReelSpeed);
-
-                if (m_TargetSpeed > -SpeedStopZone && m_TargetSpeed < SpeedStopZone)
-                {
-                    m_TargetSpeed = 0;
-                }
-
-                m_RepeatTime = m_Random.Next(MinRepeatTime, MaxRepeatTime);
+            currentTime += deltaTime;
+
+            if (currentTime >= repeatTime)
+            {
+                targetSpeed = random.Next(MinReelSpeed, MaxReelSpeed);
+
+                if (targetSpeed > -SpeedStopZone && targetSpeed < SpeedStopZone)
+                {
+                    targetSpeed = 0;
+                }
+
+                repeatTime = random.Next(MinRepeatTime, MaxRepeatTime);
 
                 if (RepeatTimeDenominator != 0)
                 {
-                    m_RepeatTime /= RepeatTimeDenominator;
-                }
-
-                m_CurrentTime -= m_RepeatTime;
+                    repeatTime /= RepeatTimeDenominator;
+                }
+
+                currentTime -= repeatTime;
             }
         }
     }

--- a/KerbalEngineer/UIControls/DropDown.cs
+++ b/KerbalEngineer/UIControls/DropDown.cs
@@ -61,7 +61,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -73,7 +73,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -100,7 +100,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -119,7 +119,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -142,7 +142,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -155,7 +155,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -174,7 +174,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 

--- a/KerbalEngineer/UIControls/WindowObject.cs
+++ b/KerbalEngineer/UIControls/WindowObject.cs
@@ -104,7 +104,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -120,7 +120,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 
@@ -157,7 +157,7 @@
             }
             catch (Exception ex)
             {
-                Logger.Exception(ex);
+                MyLogger.Exception(ex);
             }
         }
 

--- a/KerbalEngineer/VesselSimulator/EngineSim.cs
+++ b/KerbalEngineer/VesselSimulator/EngineSim.cs
@@ -433,7 +433,9 @@
                             log = new LogMsg();
                             log.buf.AppendLine("Find " + ResourceContainer.GetResourceName(type) + " sources for " + partSim.name + ":" + partSim.partId);
                         }
-                        partSim.GetSourceSet(type, PhysicsGlobals.Stack_PriUsesSurf, allParts, visited, sourcePartSet, log, "");
+
+                        // TODO: check fuel flow as 'PhysicsGlobals.Stack_PriUsesSurf' changed to false to subdue error
+                        partSim.GetSourceSet(type, false, allParts, visited, sourcePartSet, log, "");
                         if (SimManager.logOutput && log != null)
                         {
                             MonoBehaviour.print(log.buf);

--- a/KerbalEngineer/VesselSimulator/PartSim.cs
+++ b/KerbalEngineer/VesselSimulator/PartSim.cs
@@ -119,7 +119,6 @@
             partSim.noCrossFeedNodeKey = p.NoCrossFeedNodeKey;
             partSim.decoupledInStage = partSim.DecoupledInStage(p);
             partSim.isFuelLine = p.HasModule<CModuleFuelLine>();
-            partSim.isFuelTank = p is FuelTank;
             partSim.isSepratron = partSim.IsSepratron();
             partSim.inverseStage = p.inverseStage;
             //MonoBehaviour.print("inverseStage = " + inverseStage);
@@ -788,23 +787,9 @@
                 return false;
             }
 
-            if (part is SolidRocket)
-            {
-                return true;
-            }
-
             IEnumerable<ModuleEngines> modList = part.Modules.OfType<ModuleEngines>();
-            if (modList.Count() == 0)
-            {
-                return false;
-            }
-
-            if (modList.First().throttleLocked)
-            {
-                return true;
-            }
-
-            return false;
+
+            return modList.Any(module => module.throttleLocked);
         }
     }
 }

--- a/KerbalEngineer/VesselSimulator/SimManager.cs
+++ b/KerbalEngineer/VesselSimulator/SimManager.cs
@@ -303,7 +303,7 @@
             }
             catch (Exception e)
             {
-                Logger.Exception(e, "SimManager.RunSimulation()");
+                MyLogger.Exception(e, "SimManager.RunSimulation()");
                 Stages = null;
                 LastStage = null;
                 failMessage = e.ToString();
@@ -383,7 +383,7 @@
             }
             catch (Exception e)
             {
-                Logger.Exception(e, "SimManager.StartSimulation()");
+                MyLogger.Exception(e, "SimManager.StartSimulation()");
                 failMessage = e.ToString();
                 lock (locker)
                 {

--- a/KerbalEngineer/VesselSimulator/Simulation.cs
+++ b/KerbalEngineer/VesselSimulator/Simulation.cs
@@ -570,10 +570,10 @@
                         MonoBehaviour.print("stageStartMass = " + this.stageStartMass);
                         MonoBehaviour.print("stepStartMass = " + this.stepStartMass);
                         MonoBehaviour.print("StepEndMass   = " + this.stepEndMass);
-                        Logger.Log("exceeded loop count");
-                        Logger.Log("stageStartMass = " + this.stageStartMass);
-                        Logger.Log("stepStartMass = " + this.stepStartMass);
-                        Logger.Log("StepEndMass   = " + this.stepEndMass);
+                        MyLogger.Log("exceeded loop count");
+                        MyLogger.Log("stageStartMass = " + this.stageStartMass);
+                        MyLogger.Log("stepStartMass = " + this.stepStartMass);
+                        MyLogger.Log("StepEndMass   = " + this.stepEndMass);
                         break;
                     }
 

 Binary files /dev/null and b/Output/KerbalEngineer/AssetBundles/AssetBundles differ
--- /dev/null
+++ b/Output/KerbalEngineer/AssetBundles/AssetBundles.manifest
@@ -1,1 +1,17 @@
+ManifestFileVersion: 0
+CRC: 1712066589
+AssetBundleManifest:
+  AssetBundleInfos:
+    Info_0:
+      Name: prefabs
+      Dependencies: {}
+    Info_1:
+      Name: images
+      Dependencies: {}
+    Info_2:
+      Name: squadcore
+      Dependencies: {}
+    Info_3:
+      Name: models
+      Dependencies: {}
 

 Binary files /dev/null and b/Output/KerbalEngineer/AssetBundles/images differ
--- /dev/null
+++ b/Output/KerbalEngineer/AssetBundles/images.manifest
@@ -1,1 +1,24 @@
+ManifestFileVersion: 0
+CRC: 1560231156
+Hashes:
+  AssetFileHash:
+    serializedVersion: 2
+    Hash: bc1f98c85ecf40ce6765621a08f9f657
+  TypeTreeHash:
+    serializedVersion: 2
+    Hash: 3a86b9bde1b930a56947f720531fa611
+HashAppended: 0
+ClassTypes:
+- Class: 28
+  Script: {instanceID: 0}
+- Class: 49
+  Script: {instanceID: 0}
+- Class: 213
+  Script: {instanceID: 0}
+Assets:
+- Assets/XML/images_bundle.xml
+- Assets/Images/ui-drop-down.psd
+- Assets/Images/app-launcher-icon.psd
+- Assets/Images/flight-menu-background.psd
+Dependencies: []
 

 Binary files /dev/null and b/Output/KerbalEngineer/AssetBundles/models differ
--- /dev/null
+++ b/Output/KerbalEngineer/AssetBundles/models.manifest
@@ -1,1 +1,17 @@
+ManifestFileVersion: 0
+CRC: 925255569
+Hashes:
+  AssetFileHash:
+    serializedVersion: 2
+    Hash: 7ab3c34760811e8a656f73c6e9197731
+  TypeTreeHash:
+    serializedVersion: 2
+    Hash: 1033bf7ddfd4c6d43e7a6382c0a0a61a
+HashAppended: 0
+ClassTypes:
+- Class: 49
+  Script: {instanceID: 0}
+Assets:
+- Assets/XML/models_bundle.xml
+Dependencies: []
 

 Binary files /dev/null and b/Output/KerbalEngineer/AssetBundles/prefabs differ
--- /dev/null
+++ b/Output/KerbalEngineer/AssetBundles/prefabs.manifest
@@ -1,1 +1,69 @@
+ManifestFileVersion: 0
+CRC: 2968365130
+Hashes:
+  AssetFileHash:
+    serializedVersion: 2
+    Hash: 02a2d09886efb9a467857320aea9167f
+  TypeTreeHash:
+    serializedVersion: 2
+    Hash: f34bf2aa2d8f763a2a8ef79868dfc1b4
+HashAppended: 0
+ClassTypes:
+- Class: 1
+  Script: {instanceID: 0}
+- Class: 21
+  Script: {instanceID: 0}
+- Class: 28
+  Script: {instanceID: 0}
+- Class: 48
+  Script: {instanceID: 0}
+- Class: 49
+  Script: {instanceID: 0}
+- Class: 114
+  Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+  Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+  Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+  Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+  Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+  Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+  Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+  Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+  Script: {fileID: 571159103, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+- Class: 114
+  Script: {fileID: -1842827791, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+- Class: 114
+  Script: {fileID: 644905346, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+- Class: 114
+  Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+- Class: 114
+  Script: {fileID: 604723565, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+- Class: 115
+  Script: {instanceID: 0}
+- Class: 128
+  Script: {instanceID: 0}
+- Class: 213
+  Script: {instanceID: 0}
+- Class: 222
+  Script: {instanceID: 0}
+- Class: 224
+  Script: {instanceID: 0}
+- Class: 225
+  Script: {instanceID: 0}
+Assets:
+- Assets/Prefabs/Setting.prefab
+- Assets/Prefabs/SettingToggle.prefab
+- Assets/XML/prefabs_bundle.xml
+- Assets/Prefabs/SettingButton.prefab
+- Assets/Prefabs/FlightMenuSection.prefab
+- Assets/Prefabs/FlightMenu.prefab
+- Assets/Prefabs/Window.prefab
+Dependencies: []
 

 Binary files a/Output/KerbalEngineer/KerbalEngineer and /dev/null differ
 Binary files a/Output/KerbalEngineer/KerbalEngineer.Unity.dll and b/Output/KerbalEngineer/KerbalEngineer.Unity.dll differ
 Binary files a/Output/KerbalEngineer/KerbalEngineer.dll and b/Output/KerbalEngineer/KerbalEngineer.dll differ
--- a/Output/KerbalEngineer/KerbalEngineer.manifest
+++ /dev/null
@@ -1,10 +1,1 @@
-ManifestFileVersion: 0
-AssetBundleManifest:
-  AssetBundleInfos:
-    Info_0:
-      Name: prefabs
-      Dependencies: {}
-    Info_1:
-      Name: images
-      Dependencies: {}
 

 Binary files a/Output/KerbalEngineer/images and /dev/null differ
--- a/Output/KerbalEngineer/images.manifest
+++ /dev/null
@@ -1,21 +1,1 @@
-ManifestFileVersion: 0
-CRC: 3711738391
-Hashes:
-  AssetFileHash:
-    serializedVersion: 2
-    Hash: ed55962395cdf8d8940a4674b73fa9cb
-  TypeTreeHash:
-    serializedVersion: 2
-    Hash: 00ffc586b3c4c12c72c7fed589b81235
-HashAppended: 0
-ClassTypes:
-- Class: 28
-  Script: {instanceID: 0}
-- Class: 213
-  Script: {instanceID: 0}
-Assets:
-- Assets/Images/ui-drop-down.psd
-- Assets/Images/app-launcher-icon.psd
-- Assets/Images/flight-menu-background.psd
-Dependencies: []
 

 Binary files a/Output/KerbalEngineer/prefabs and /dev/null differ
--- a/Output/KerbalEngineer/prefabs.manifest
+++ /dev/null
@@ -1,66 +1,1 @@
-ManifestFileVersion: 0
-CRC: 247544766
-Hashes:
-  AssetFileHash:
-    serializedVersion: 2
-    Hash: 6c0345330dfdd65954f99b5bf002cb14
-  TypeTreeHash:
-    serializedVersion: 2
-    Hash: f08f4b318e7775189aba716ae3ef79f9
-HashAppended: 0
-ClassTypes:
-- Class: 1
-  Script: {instanceID: 0}
-- Class: 21
-  Script: {instanceID: 0}
-- Class: 28
-  Script: {instanceID: 0}
-- Class: 48
-  Script: {instanceID: 0}
-- Class: 114
-  Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
-- Class: 114
-  Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
-- Class: 114
-  Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
-- Class: 114
-  Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
-- Class: 114
-  Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
-- Class: 114
-  Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
-- Class: 114
-  Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
-- Class: 114
-  Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
-- Class: 114
-  Script: {fileID: 571159103, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
-- Class: 114
-  Script: {fileID: -1842827791, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
-- Class: 114
-  Script: {fileID: 644905346, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
-- Class: 114
-  Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
-- Class: 114
-  Script: {fileID: 604723565, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
-- Class: 115
-  Script: {instanceID: 0}
-- Class: 128
-  Script: {instanceID: 0}
-- Class: 213
-  Script: {instanceID: 0}
-- Class: 222
-  Script: {instanceID: 0}
-- Class: 224
-  Script: {instanceID: 0}
-- Class: 225
-  Script: {instanceID: 0}
-Assets:
-- Assets/Prefabs/Setting.prefab
-- Assets/Prefabs/SettingToggle.prefab
-- Assets/Prefabs/SettingButton.prefab
-- Assets/Prefabs/FlightMenuSection.prefab
-- Assets/Prefabs/FlightMenu.prefab
-- Assets/Prefabs/Window.prefab
-Dependencies: []
 

--- /dev/null
+++ b/ProjectSettings/ClusterInputManager.asset
@@ -1,1 +1,7 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!236 &1
+ClusterInputManager:
+  m_ObjectHideFlags: 0
+  m_Inputs: []
 

--- a/ProjectSettings/GraphicsSettings.asset
+++ b/ProjectSettings/GraphicsSettings.asset
@@ -3,16 +3,31 @@
 --- !u!30 &1
 GraphicsSettings:
   m_ObjectHideFlags: 0
-  serializedVersion: 4
+  serializedVersion: 7
   m_Deferred:
     m_Mode: 1
     m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
   m_DeferredReflections:
     m_Mode: 1
     m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
+  m_ScreenSpaceShadows:
+    m_Mode: 1
+    m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
   m_LegacyDeferred:
     m_Mode: 1
     m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
+  m_DepthNormals:
+    m_Mode: 1
+    m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
+  m_MotionVectors:
+    m_Mode: 1
+    m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
+  m_LightHalo:
+    m_Mode: 1
+    m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
+  m_LensFlare:
+    m_Mode: 1
+    m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
   m_AlwaysIncludedShaders:
   - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
   - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
@@ -21,14 +36,32 @@
   - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
   - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0}
   m_PreloadedShaders: []
+  m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
+    type: 0}
+  m_ShaderSettings_Tier1:
+    useCascadedShadowMaps: 1
+    standardShaderQuality: 2
+    useReflectionProbeBoxProjection: 1
+    useReflectionProbeBlending: 1
+  m_ShaderSettings_Tier2:
+    useCascadedShadowMaps: 1
+    standardShaderQuality: 2
+    useReflectionProbeBoxProjection: 1
+    useReflectionProbeBlending: 1
+  m_ShaderSettings_Tier3:
+    useCascadedShadowMaps: 1
+    standardShaderQuality: 2
+    useReflectionProbeBoxProjection: 1
+    useReflectionProbeBlending: 1
+  m_BuildTargetShaderSettings: []
   m_LightmapStripping: 0
+  m_FogStripping: 0
   m_LightmapKeepPlain: 1
   m_LightmapKeepDirCombined: 1
   m_LightmapKeepDirSeparate: 1
   m_LightmapKeepDynamicPlain: 1
   m_LightmapKeepDynamicDirCombined: 1
   m_LightmapKeepDynamicDirSeparate: 1
-  m_FogStripping: 0
   m_FogKeepLinear: 1
   m_FogKeepExp: 1
   m_FogKeepExp2: 1

--- a/ProjectSettings/ProjectSettings.asset
+++ b/ProjectSettings/ProjectSettings.asset
@@ -3,18 +3,20 @@
 --- !u!129 &1
 PlayerSettings:
   m_ObjectHideFlags: 0
-  serializedVersion: 7
+  serializedVersion: 8
+  productGUID: affd9915876e7bc42a4bf20f2a215263
   AndroidProfiler: 0
   defaultScreenOrientation: 4
   targetDevice: 2
-  targetResolution: 0
   useOnDemandResources: 0
   accelerometerFrequency: 60
   companyName: DefaultCompany
   productName: New Unity Project
   defaultCursor: {fileID: 0}
   cursorHotspot: {x: 0, y: 0}
+  m_SplashScreenStyle: 0
   m_ShowUnitySplashScreen: 1
+  m_VirtualRealitySplashScreen: {fileID: 0}
   defaultScreenWidth: 1024
   defaultScreenHeight: 768
   defaultScreenWidthWeb: 960
@@ -24,7 +26,7 @@
   m_ActiveColorSpace: 0
   m_MTRendering: 1
   m_MobileMTRendering: 0
-  m_Stereoscopic3D: 0
+  m_StackTraceTypes: 010000000100000001000000010000000100000001000000
   iosShowActivityIndicatorOnLoading: -1
   androidShowActivityIndicatorOnLoading: -1
   iosAppInBackgroundBehavior: 0
@@ -50,22 +52,29 @@
   resizableWindow: 0
   useMacAppStoreValidation: 0
   gpuSkinning: 0
+  graphicsJobs: 0
   xboxPIXTextureCapture: 0
   xboxEnableAvatar: 0
   xboxEnableKinect: 0
   xboxEnableKinectAutoTracking: 0
   xboxEnableFitness: 0
   visibleInBackground: 0
+  allowFullscreenSwitch: 1
   macFullscreenMode: 2
   d3d9FullscreenMode: 1
   d3d11FullscreenMode: 1
   xboxSpeechDB: 0
   xboxEnableHeadOrientation: 0
   xboxEnableGuest: 0
+  xboxEnablePIXSampling: 0
   n3dsDisableStereoscopicView: 0
   n3dsEnableSharedListOpt: 1
   n3dsEnableVSync: 0
+  uiUse16BitDepthBuffer: 0
+  ignoreAlphaClear: 0
   xboxOneResolution: 0
+  xboxOneMonoLoggingLevel: 0
+  xboxOneLoggingLevel: 1
   ps3SplashScreen: {fileID: 0}
   videoMemoryForVertexBuffers: 0
   psp2PowerMode: 0
@@ -89,10 +98,9 @@
   bundleVersion: 1.0
   preloadedAssets: []
   metroEnableIndependentInputSource: 0
-  metroEnableLowLatencyPresentationAPI: 0
   xboxOneDisableKinectGpuReservation: 0
-  virtualRealitySupported: 0
-  productGUID: affd9915876e7bc42a4bf20f2a215263
+  singlePassStereoRendering: 0
+  protectGraphicsMemory: 0
   AndroidBundleVersionCode: 1
   AndroidMinSdkVersion: 9
   AndroidPreferredInstallLocation: 1
@@ -113,6 +121,8 @@
     m_Bits: 238
   iPhoneSdkVersion: 988
   iPhoneTargetOSVersion: 22
+  tvOSSdkVersion: 0
+  tvOSTargetOSVersion: 900
   uIPrerenderedIcon: 0
   uIRequiresPersistentWiFi: 0
   uIRequiresFullScreen: 1
@@ -129,6 +139,10 @@
   iPadHighResPortraitSplashScreen: {fileID: 0}
   iPadLandscapeSplashScreen: {fileID: 0}
   iPadHighResLandscapeSplashScreen: {fileID: 0}
+  appleTVSplashScreen: {fileID: 0}
+  tvOSSmallIconLayers: []
+  tvOSLargeIconLayers: []
+  tvOSTopShelfImageLayers: []
   iOSLaunchScreenType: 0
   iOSLaunchScreenPortrait: {fileID: 0}
   iOSLaunchScreenLandscape: {fileID: 0}
@@ -147,6 +161,7 @@
   iOSLaunchScreeniPadSize: 100
   iOSLaunchScreeniPadCustomXibPath: 
   iOSDeviceRequirements: []
+  iOSURLSchemes: []
   AndroidTargetDevice: 0
   AndroidSplashScreenScale: 0
   androidSplashScreen: {fileID: 0}
@@ -241,6 +256,7 @@
   ps4NPtitleDatPath: 
   ps4RemotePlayKeyAssignment: -1
   ps4RemotePlayKeyMappingDir: 
+  ps4PlayTogetherPlayerCount: 0
   ps4EnterButtonAssignment: 1
   ps4ApplicationParam1: 0
   ps4ApplicationParam2: 0
@@ -249,6 +265,7 @@
   ps4DownloadDataSize: 0
   ps4GarlicHeapSize: 2048
   ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
+  ps4UseDebugIl2cppLibs: 0
   ps4pnSessions: 1
   ps4pnPresence: 1
   ps4pnFriends: 1
@@ -256,13 +273,19 @@
   playerPrefsSupport: 0
   ps4ReprojectionSupport: 0
   ps4UseAudio3dBackend: 0
+  ps4SocialScreenEnabled: 0
   ps4Audio3dVirtualSpeakerCount: 14
   ps4attribCpuUsage: 0
-  ps4SocialScreenEnabled: 0
+  ps4PatchPkgPath: 
+  ps4PatchLatestPkgPath: 
+  ps4PatchChangeinfoPath: 
+  ps4PatchDayOne: 0
   ps4attribUserManagement: 0
   ps4attribMoveSupport: 0
   ps4attrib3DSupport: 0
   ps4attribShareSupport: 0
+  ps4attribExclusiveVR: 0
+  ps4disableAutoHideSplash: 0
   ps4IncludedModules: []
   monoEnv: 
   psp2Splashimage: {fileID: 0}
@@ -311,14 +334,11 @@
   psp2UseLibLocation: 0
   psp2InfoBarOnStartup: 0
   psp2InfoBarColor: 0
+  psp2UseDebugIl2cppLibs: 0
   psmSplashimage: {fileID: 0}
   spritePackerPolicy: 
   scriptingDefineSymbols: {}
   metroPackageName: New Unity Project
-  metroPackageLogo: 
-  metroPackageLogo140: 
-  metroPackageLogo180: 
-  metroPackageLogo240: 
   metroPackageVersion: 
   metroCertificatePath: 
   metroCertificatePassword: 
@@ -326,44 +346,7 @@
   metroCertificateIssuer: 
   metroCertificateNotAfter: 0000000000000000
   metroApplicationDescription: New Unity Project
-  metroStoreTileLogo80: 
-  metroStoreTileLogo: 
-  metroStoreTileLogo140: 
-  metroStoreTileLogo180: 
-  metroStoreTileWideLogo80: 
-  metroStoreTileWideLogo: 
-  metroStoreTileWideLogo140: 
-  metroStoreTileWideLogo180: 
-  metroStoreTileSmallLogo80: 
-  metroStoreTileSmallLogo: 
-  metroStoreTileSmallLogo140: 
-  metroStoreTileSmallLogo180: 
-  metroStoreSmallTile80: 
-  metroStoreSmallTile: 
-  metroStoreSmallTile140: 
-  metroStoreSmallTile180: 
-  metroStoreLargeTile80: 
-  metroStoreLargeTile: 
-  metroStoreLargeTile140: 
-  metroStoreLargeTile180: 
-  metroStoreSplashScreenImage: 
-  metroStoreSplashScreenImage140: 
-  metroStoreSplashScreenImage180: 
-  metroPhoneAppIcon: 
-  metroPhoneAppIcon140: 
-  metroPhoneAppIcon240: 
-  metroPhoneSmallTile: 
-  metroPhoneSmallTile140: 
-  metroPhoneSmallTile240: 
-  metroPhoneMediumTile: 
-  metroPhoneMediumTile140: 
-  metroPhoneMediumTile240: 
-  metroPhoneWideTile: 
-  metroPhoneWideTile140: 
-  metroPhoneWideTile240: 
-  metroPhoneSplashScreenImage: 
-  metroPhoneSplashScreenImage140: 
-  metroPhoneSplashScreenImage240: 
+  wsaImages: {}
   metroTileShortName: 
   metroCommandLineArgsFile: 
   metroTileShowName: 0
@@ -380,29 +363,12 @@
   metroFTAFileTypes: []
   metroProtocolName: 
   metroCompilationOverrides: 1
-  blackberryDeviceAddress: 
-  blackberryDevicePassword: 
-  blackberryTokenPath: 
-  blackberryTokenExires: 
-  blackberryTokenAuthor: 
-  blackberryTokenAuthorId: 
-  blackberryCskPassword: 
-  blackberrySaveLogPath: 
-  blackberrySharedPermissions: 0
-  blackberryCameraPermissions: 0
-  blackberryGPSPermissions: 0
-  blackberryDeviceIDPermissions: 0
-  blackberryMicrophonePermissions: 0
-  blackberryGamepadSupport: 0
-  blackberryBuildId: 0
-  blackberryLandscapeSplashScreen: {fileID: 0}
-  blackberryPortraitSplashScreen: {fileID: 0}
-  blackberrySquareSplashScreen: {fileID: 0}
   tizenProductDescription: 
   tizenProductURL: 
   tizenSigningProfileName: 
   tizenGPSPermissions: 0
   tizenMicrophonePermissions: 0
+  tizenMinOSVersion: 0
   n3dsUseExtSaveData: 0
   n3dsCompressStaticMem: 1
   n3dsExtSaveDataNumber: 0x12345
@@ -464,22 +430,111 @@
   iOS::EnableIncrementalBuildSupportForIl2cpp: 1
   iOS::ScriptingBackend: 1
   boolPropertyNames:
+  - Android::VR::enable
+  - Metro::VR::enable
+  - N3DS::VR::enable
+  - PS3::VR::enable
+  - PS4::VR::enable
+  - PSM::VR::enable
+  - PSP2::VR::enable
+  - SamsungTV::VR::enable
+  - Standalone::VR::enable
+  - Tizen::VR::enable
+  - WebGL::VR::enable
   - WebGL::analyzeBuildSize
   - WebGL::dataCaching
   - WebGL::useEmbeddedResources
+  - WebPlayer::VR::enable
+  - WiiU::VR::enable
+  - Xbox360::VR::enable
+  - XboxOne::VR::enable
   - XboxOne::enus
+  - iOS::VR::enable
+  - tvOS::VR::enable
+  Android::VR::enable: 0
+  Metro::VR::enable: 0
+  N3DS::VR::enable: 0
+  PS3::VR::enable: 0
+  PS4::VR::enable: 0
+  PSM::VR::enable: 0
+  PSP2::VR::enable: 0
+  SamsungTV::VR::enable: 0
+  Standalone::VR::enable: 0
+  Tizen::VR::enable: 0
+  WebGL::VR::enable: 0
   WebGL::analyzeBuildSize: 0
   WebGL::dataCaching: 0
   WebGL::useEmbeddedResources: 0
+  WebPlayer::VR::enable: 0
+  WiiU::VR::enable: 0
+  Xbox360::VR::enable: 0
+  XboxOne::VR::enable: 0
   XboxOne::enus: 1
+  iOS::VR::enable: 0
+  tvOS::VR::enable: 0
   stringPropertyNames:
+  - Analytics_ServiceEnabled::Analytics_ServiceEnabled
+  - Build_ServiceEnabled::Build_ServiceEnabled
+  - Collab_ServiceEnabled::Collab_ServiceEnabled
+  - ErrorHub_ServiceEnabled::ErrorHub_ServiceEnabled
+  - Game_Performance_ServiceEnabled::Game_Performance_ServiceEnabled
+  - Hub_ServiceEnabled::Hub_ServiceEnabled
+  - Purchasing_ServiceEnabled::Purchasing_ServiceEnabled
+  - UNet_ServiceEnabled::UNet_ServiceEnabled
+  - Unity_Ads_ServiceEnabled::Unity_Ads_ServiceEnabled
   - WebGL::emscriptenArgs
   - WebGL::template
   - additionalIl2CppArgs::additionalIl2CppArgs
+  Analytics_ServiceEnabled::Analytics_ServiceEnabled: False
+  Build_ServiceEnabled::Build_ServiceEnabled: False
+  Collab_ServiceEnabled::Collab_ServiceEnabled: False
+  ErrorHub_ServiceEnabled::ErrorHub_ServiceEnabled: False
+  Game_Performance_ServiceEnabled::Game_Performance_ServiceEnabled: False
+  Hub_ServiceEnabled::Hub_ServiceEnabled: False
+  Purchasing_ServiceEnabled::Purchasing_ServiceEnabled: False
+  UNet_ServiceEnabled::UNet_ServiceEnabled: False
+  Unity_Ads_ServiceEnabled::Unity_Ads_ServiceEnabled: False
   WebGL::emscriptenArgs: 
   WebGL::template: APPLICATION:Default
   additionalIl2CppArgs::additionalIl2CppArgs: 
-  firstStreamedSceneWithResources: 0
+  vectorPropertyNames:
+  - Android::VR::enabledDevices
+  - Metro::VR::enabledDevices
+  - N3DS::VR::enabledDevices
+  - PS3::VR::enabledDevices
+  - PS4::VR::enabledDevices
+  - PSM::VR::enabledDevices
+  - PSP2::VR::enabledDevices
+  - SamsungTV::VR::enabledDevices
+  - Standalone::VR::enabledDevices
+  - Tizen::VR::enabledDevices
+  - WebGL::VR::enabledDevices
+  - WebPlayer::VR::enabledDevices
+  - WiiU::VR::enabledDevices
+  - Xbox360::VR::enabledDevices
+  - XboxOne::VR::enabledDevices
+  - iOS::VR::enabledDevices
+  - tvOS::VR::enabledDevices
+  Android::VR::enabledDevices:
+  - Oculus
+  Metro::VR::enabledDevices: []
+  N3DS::VR::enabledDevices: []
+  PS3::VR::enabledDevices: []
+  PS4::VR::enabledDevices:
+  - PlayStationVR
+  PSM::VR::enabledDevices: []
+  PSP2::VR::enabledDevices: []
+  SamsungTV::VR::enabledDevices: []
+  Standalone::VR::enabledDevices:
+  - Oculus
+  Tizen::VR::enabledDevices: []
+  WebGL::VR::enabledDevices: []
+  WebPlayer::VR::enabledDevices: []
+  WiiU::VR::enabledDevices: []
+  Xbox360::VR::enabledDevices: []
+  XboxOne::VR::enabledDevices: []
+  iOS::VR::enabledDevices: []
+  tvOS::VR::enabledDevices: []
   cloudProjectId: 
   projectName: 
   organizationId: 

--- a/ProjectSettings/ProjectVersion.txt
+++ b/ProjectSettings/ProjectVersion.txt
@@ -1,3 +1,3 @@
-m_EditorVersion: 5.2.4f1
+m_EditorVersion: 5.4.0p4
 m_StandardAssetsVersion: 0
 

--- a/ProjectSettings/UnityAnalyticsManager.asset
+++ /dev/null
@@ -1,11 +1,1 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!303 &1
-UnityAnalyticsManager:
-  m_ObjectHideFlags: 0
-  m_Enabled: 0
-  m_InitializeOnStartup: 1
-  m_TestMode: 0
-  m_TestEventUrl: 
-  m_TestConfigUrl: 
 

--- /dev/null
+++ b/ProjectSettings/UnityConnectSettings.asset
@@ -1,1 +1,22 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!310 &1
+UnityConnectSettings:
+  m_ObjectHideFlags: 0
+  m_Enabled: 0
+  m_TestMode: 0
+  m_TestEventUrl: 
+  m_TestConfigUrl: 
+  CrashReportingSettings:
+    m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes
+    m_Enabled: 0
+  UnityPurchasingSettings:
+    m_Enabled: 0
+    m_TestMode: 0
+  UnityAnalyticsSettings:
+    m_Enabled: 0
+    m_InitializeOnStartup: 1
+    m_TestMode: 0
+    m_TestEventUrl: 
+    m_TestConfigUrl: