From b095502b68e1505ca5417af90cf785f98b17607c Mon Sep 17 00:00:00 2001
From: stendler <stendler@mi.fu-berlin.de>
Date: Sun, 17 Dec 2017 22:45:30 +0100
Subject: [PATCH] lighting, init Screen, code sanitation

lighting:
- instead of material and lightmap we use a unlit shader

initScreen:
a black screen waiting until the camera and app is initialized

sanitation:
some null reference checks

---

my mobile build fails were because I checked "Scripts Build Only" in the Build Settings.
Don't do that.
---
 .../arScene/Materials/NewUnlitShader.shader   |  58 ++++
 .../Materials/NewUnlitShader.shader.meta      |  10 +
 .../arScene/Materials/PlaneMaterial.mat       |   2 +-
 .../arScene/Materials/initScreenMaterial.mat  |  76 +++++
 .../Materials/initScreenMaterial.mat.meta     |  10 +
 Assets/MemoryBox/arScene/Prefabs.meta         |  10 +
 .../arScene/Prefabs/DebugInfo.prefab          |  89 ++++++
 .../arScene/Prefabs/DebugInfo.prefab.meta     |  10 +
 .../MemoryBox/arScene/Scripts/webCamScript.cs |  17 +-
 Assets/MemoryBox/arScene/arScene.meta         |  10 +
 Assets/MemoryBox/arScene/arScene.unity        | 260 ++++++++++++------
 ProjectSettings/ProjectSettings.asset         |   6 +-
 12 files changed, 475 insertions(+), 83 deletions(-)
 create mode 100644 Assets/MemoryBox/arScene/Materials/NewUnlitShader.shader
 create mode 100644 Assets/MemoryBox/arScene/Materials/NewUnlitShader.shader.meta
 create mode 100644 Assets/MemoryBox/arScene/Materials/initScreenMaterial.mat
 create mode 100644 Assets/MemoryBox/arScene/Materials/initScreenMaterial.mat.meta
 create mode 100644 Assets/MemoryBox/arScene/Prefabs.meta
 create mode 100644 Assets/MemoryBox/arScene/Prefabs/DebugInfo.prefab
 create mode 100644 Assets/MemoryBox/arScene/Prefabs/DebugInfo.prefab.meta
 create mode 100644 Assets/MemoryBox/arScene/arScene.meta

diff --git a/Assets/MemoryBox/arScene/Materials/NewUnlitShader.shader b/Assets/MemoryBox/arScene/Materials/NewUnlitShader.shader
new file mode 100644
index 0000000..a28ff8d
--- /dev/null
+++ b/Assets/MemoryBox/arScene/Materials/NewUnlitShader.shader
@@ -0,0 +1,58 @@
+Shader "Unlit/NewUnlitShader"
+{
+	Properties
+	{
+		_MainTex ("Texture", 2D) = "white" {}
+	}
+	SubShader
+	{
+		Tags { "RenderType"="Opaque" }
+		LOD 100
+
+		Pass
+		{
+			CGPROGRAM
+			#pragma vertex vert
+			#pragma fragment frag
+			// make fog work
+			#pragma multi_compile_fog
+			
+			#include "UnityCG.cginc"
+
+			struct appdata
+			{
+				float4 vertex : POSITION;
+				float2 uv : TEXCOORD0;
+			};
+
+			struct v2f
+			{
+				float2 uv : TEXCOORD0;
+				UNITY_FOG_COORDS(1)
+				float4 vertex : SV_POSITION;
+			};
+
+			sampler2D _MainTex;
+			float4 _MainTex_ST;
+			
+			v2f vert (appdata v)
+			{
+				v2f o;
+				o.vertex = UnityObjectToClipPos(v.vertex);
+				o.uv = TRANSFORM_TEX(v.uv, _MainTex);
+				UNITY_TRANSFER_FOG(o,o.vertex);
+				return o;
+			}
+			
+			fixed4 frag (v2f i) : SV_Target
+			{
+				// sample the texture
+				fixed4 col = tex2D(_MainTex, i.uv);
+				// apply fog
+				UNITY_APPLY_FOG(i.fogCoord, col);
+				return col;
+			}
+			ENDCG
+		}
+	}
+}
diff --git a/Assets/MemoryBox/arScene/Materials/NewUnlitShader.shader.meta b/Assets/MemoryBox/arScene/Materials/NewUnlitShader.shader.meta
new file mode 100644
index 0000000..14aa9b0
--- /dev/null
+++ b/Assets/MemoryBox/arScene/Materials/NewUnlitShader.shader.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 00ea8decc5d00d648a30be255babd20b
+timeCreated: 1513539044
+licenseType: Free
+ShaderImporter:
+  externalObjects: {}
+  defaultTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/MemoryBox/arScene/Materials/PlaneMaterial.mat b/Assets/MemoryBox/arScene/Materials/PlaneMaterial.mat
index 1ba8665..24a5d96 100644
--- a/Assets/MemoryBox/arScene/Materials/PlaneMaterial.mat
+++ b/Assets/MemoryBox/arScene/Materials/PlaneMaterial.mat
@@ -7,7 +7,7 @@ Material:
   m_PrefabParentObject: {fileID: 0}
   m_PrefabInternal: {fileID: 0}
   m_Name: PlaneMaterial
-  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_Shader: {fileID: 4800000, guid: 00ea8decc5d00d648a30be255babd20b, type: 3}
   m_ShaderKeywords: 
   m_LightmapFlags: 4
   m_EnableInstancingVariants: 0
diff --git a/Assets/MemoryBox/arScene/Materials/initScreenMaterial.mat b/Assets/MemoryBox/arScene/Materials/initScreenMaterial.mat
new file mode 100644
index 0000000..459e02d
--- /dev/null
+++ b/Assets/MemoryBox/arScene/Materials/initScreenMaterial.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: initScreenMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _GLOSSYREFLECTIONS_OFF _SPECULARHIGHLIGHTS_OFF
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 0
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 0
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0, g: 0, b: 0, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/MemoryBox/arScene/Materials/initScreenMaterial.mat.meta b/Assets/MemoryBox/arScene/Materials/initScreenMaterial.mat.meta
new file mode 100644
index 0000000..d1af8fa
--- /dev/null
+++ b/Assets/MemoryBox/arScene/Materials/initScreenMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: ae5ec6ada3ba83c4a9689822e954c742
+timeCreated: 1513539095
+licenseType: Free
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/MemoryBox/arScene/Prefabs.meta b/Assets/MemoryBox/arScene/Prefabs.meta
new file mode 100644
index 0000000..ff45178
--- /dev/null
+++ b/Assets/MemoryBox/arScene/Prefabs.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: ebf7d276da6fef2468308b90345967a5
+folderAsset: yes
+timeCreated: 1513537667
+licenseType: Free
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/MemoryBox/arScene/Prefabs/DebugInfo.prefab b/Assets/MemoryBox/arScene/Prefabs/DebugInfo.prefab
new file mode 100644
index 0000000..9d1db51
--- /dev/null
+++ b/Assets/MemoryBox/arScene/Prefabs/DebugInfo.prefab
@@ -0,0 +1,89 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &100100000
+Prefab:
+  m_ObjectHideFlags: 1
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications: []
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 0}
+  m_RootGameObject: {fileID: 1986165879638474}
+  m_IsPrefabParent: 1
+--- !u!1 &1986165879638474
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224043149731492524}
+  - component: {fileID: 222688519818781124}
+  - component: {fileID: 114615205518635678}
+  m_Layer: 5
+  m_Name: DebugInfo
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &114615205518635678
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1986165879638474}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 0
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 20
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: 'Debug:
+
+'
+--- !u!222 &222688519818781124
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1986165879638474}
+--- !u!224 &224043149731492524
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1986165879638474}
+  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_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 160, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
diff --git a/Assets/MemoryBox/arScene/Prefabs/DebugInfo.prefab.meta b/Assets/MemoryBox/arScene/Prefabs/DebugInfo.prefab.meta
new file mode 100644
index 0000000..c7ea914
--- /dev/null
+++ b/Assets/MemoryBox/arScene/Prefabs/DebugInfo.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: e8350cb38dd13ca46975a05ee8bd0e3a
+timeCreated: 1513537671
+licenseType: Free
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/MemoryBox/arScene/Scripts/webCamScript.cs b/Assets/MemoryBox/arScene/Scripts/webCamScript.cs
index 1c1f80a..cc95a3c 100644
--- a/Assets/MemoryBox/arScene/Scripts/webCamScript.cs
+++ b/Assets/MemoryBox/arScene/Scripts/webCamScript.cs
@@ -6,6 +6,7 @@ public class webCamScript : MonoBehaviour
 
 	public GameObject WebCameraPlane;
 	public GameObject DebugInfo;
+	public GameObject InitPanel;
 
 	private bool _camInitialized = false;
 	private WebCamTexture _webCameraTexture;
@@ -90,17 +91,27 @@ public class webCamScript : MonoBehaviour
 				-Input.gyro.attitude.z, -Input.gyro.attitude.w);
 			transform.localRotation = cameraRotation;
 		}
-		else
+		else if (_webCameraTexture != null)
 		{
 			// check the current resolution
 			if (_webCameraTexture.width > 100 || _webCameraTexture.height > 100)
 			{
 				RecalculateCameraResolution();
+				_toggleInitPanel();
 				_camInitialized = true;
 			}
 		}
 	}
 
+	private void _toggleInitPanel()
+	{
+		Image image = InitPanel.GetComponent<Image>();
+		if (image != null)
+		{
+			image.enabled = !image.enabled;
+		}
+	}
+
 
 	private void _debug(object message = null)
 	{
@@ -112,6 +123,8 @@ public class webCamScript : MonoBehaviour
 	private void _debug(string message) {
 		message = "-- "+message;
 		Debug.Log(message);
-		DebugInfo.GetComponent<Text>().text += message+"\n";
+		Text text = DebugInfo.GetComponent<Text>();
+		if (text != null)	
+			text.text += message+"\n";
 	}
 }
diff --git a/Assets/MemoryBox/arScene/arScene.meta b/Assets/MemoryBox/arScene/arScene.meta
new file mode 100644
index 0000000..47a5cad
--- /dev/null
+++ b/Assets/MemoryBox/arScene/arScene.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: fe2ab9066f65d9245acf36b64ae80db8
+folderAsset: yes
+timeCreated: 1513468498
+licenseType: Free
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/MemoryBox/arScene/arScene.unity b/Assets/MemoryBox/arScene/arScene.unity
index c8da406..2707a2c 100644
--- a/Assets/MemoryBox/arScene/arScene.unity
+++ b/Assets/MemoryBox/arScene/arScene.unity
@@ -112,6 +112,74 @@ NavMeshSettings:
     debug:
       m_Flags: 0
   m_NavMeshData: {fileID: 0}
+--- !u!1 &390057441
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 390057442}
+  - component: {fileID: 390057444}
+  - component: {fileID: 390057443}
+  m_Layer: 5
+  m_Name: InitPanel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &390057442
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 390057441}
+  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_Children: []
+  m_Father: {fileID: 1746675495}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &390057443
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 390057441}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 2100000, guid: ae5ec6ada3ba83c4a9689822e954c742, type: 2}
+  m_Color: {r: 0, g: 0, b: 0, a: 0.392}
+  m_RaycastTarget: 0
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_Sprite: {fileID: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &390057444
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 390057441}
 --- !u!1 &578402800
 GameObject:
   m_ObjectHideFlags: 0
@@ -290,6 +358,106 @@ Transform:
   m_Father: {fileID: 0}
   m_RootOrder: 6
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &747345095
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 1746675495}
+    m_Modifications:
+    - target: {fileID: 224043149731492524, guid: e8350cb38dd13ca46975a05ee8bd0e3a,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: -356.43997
+      objectReference: {fileID: 0}
+    - target: {fileID: 224043149731492524, guid: e8350cb38dd13ca46975a05ee8bd0e3a,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 911.3469
+      objectReference: {fileID: 0}
+    - target: {fileID: 224043149731492524, guid: e8350cb38dd13ca46975a05ee8bd0e3a,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224043149731492524, guid: e8350cb38dd13ca46975a05ee8bd0e3a,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224043149731492524, guid: e8350cb38dd13ca46975a05ee8bd0e3a,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224043149731492524, guid: e8350cb38dd13ca46975a05ee8bd0e3a,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224043149731492524, guid: e8350cb38dd13ca46975a05ee8bd0e3a,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224043149731492524, guid: e8350cb38dd13ca46975a05ee8bd0e3a,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224043149731492524, guid: e8350cb38dd13ca46975a05ee8bd0e3a,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 43.559998
+      objectReference: {fileID: 0}
+    - target: {fileID: 224043149731492524, guid: e8350cb38dd13ca46975a05ee8bd0e3a,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: -11.72998
+      objectReference: {fileID: 0}
+    - target: {fileID: 224043149731492524, guid: e8350cb38dd13ca46975a05ee8bd0e3a,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 87.119995
+      objectReference: {fileID: 0}
+    - target: {fileID: 224043149731492524, guid: e8350cb38dd13ca46975a05ee8bd0e3a,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 23.459991
+      objectReference: {fileID: 0}
+    - target: {fileID: 224043149731492524, guid: e8350cb38dd13ca46975a05ee8bd0e3a,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224043149731492524, guid: e8350cb38dd13ca46975a05ee8bd0e3a,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224043149731492524, guid: e8350cb38dd13ca46975a05ee8bd0e3a,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224043149731492524, guid: e8350cb38dd13ca46975a05ee8bd0e3a,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224043149731492524, guid: e8350cb38dd13ca46975a05ee8bd0e3a,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0.5
+      objectReference: {fileID: 0}
+    - target: {fileID: 224043149731492524, guid: e8350cb38dd13ca46975a05ee8bd0e3a,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0.5
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: e8350cb38dd13ca46975a05ee8bd0e3a, type: 2}
+  m_IsPrefabParent: 0
 --- !u!1 &784698056
 GameObject:
   m_ObjectHideFlags: 0
@@ -523,82 +691,16 @@ Transform:
   m_Father: {fileID: 0}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &1167427447
+--- !u!1 &1167427447 stripped
 GameObject:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  serializedVersion: 5
-  m_Component:
-  - component: {fileID: 1167427448}
-  - component: {fileID: 1167427450}
-  - component: {fileID: 1167427449}
-  m_Layer: 5
-  m_Name: DebugInfo
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!224 &1167427448
+  m_PrefabParentObject: {fileID: 1986165879638474, guid: e8350cb38dd13ca46975a05ee8bd0e3a,
+    type: 2}
+  m_PrefabInternal: {fileID: 747345095}
+--- !u!224 &1167427448 stripped
 RectTransform:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 1167427447}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: -560, y: 345.00003, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_Children: []
-  m_Father: {fileID: 1746675495}
-  m_RootOrder: 0
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0.5, y: 0.5}
-  m_AnchorMax: {x: 0.5, y: 0.5}
-  m_AnchoredPosition: {x: -560, y: 345.00003}
-  m_SizeDelta: {x: 160, y: 30}
-  m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &1167427449
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 1167427447}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_Material: {fileID: 0}
-  m_Color: {r: 1, g: 1, b: 1, a: 1}
-  m_RaycastTarget: 0
-  m_OnCullStateChanged:
-    m_PersistentCalls:
-      m_Calls: []
-    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
-      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
-  m_FontData:
-    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
-    m_FontSize: 20
-    m_FontStyle: 0
-    m_BestFit: 0
-    m_MinSize: 2
-    m_MaxSize: 40
-    m_Alignment: 0
-    m_AlignByGeometry: 0
-    m_RichText: 1
-    m_HorizontalOverflow: 1
-    m_VerticalOverflow: 1
-    m_LineSpacing: 1
-  m_Text: 'Debug:
-
-'
---- !u!222 &1167427450
-CanvasRenderer:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 1167427447}
+  m_PrefabParentObject: {fileID: 224043149731492524, guid: e8350cb38dd13ca46975a05ee8bd0e3a,
+    type: 2}
+  m_PrefabInternal: {fileID: 747345095}
 --- !u!1 &1444983096
 GameObject:
   m_ObjectHideFlags: 0
@@ -631,6 +733,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   WebCameraPlane: {fileID: 619437919}
   DebugInfo: {fileID: 1167427447}
+  InitPanel: {fileID: 390057441}
 --- !u!81 &1444983098
 AudioListener:
   m_ObjectHideFlags: 0
@@ -802,7 +905,7 @@ MonoBehaviour:
   m_PrefabParentObject: {fileID: 0}
   m_PrefabInternal: {fileID: 0}
   m_GameObject: {fileID: 1746675491}
-  m_Enabled: 1
+  m_Enabled: 0
   m_EditorHideFlags: 0
   m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
   m_Name: 
@@ -823,10 +926,10 @@ MonoBehaviour:
   m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_UiScaleMode: 0
+  m_UiScaleMode: 1
   m_ReferencePixelsPerUnit: 100
   m_ScaleFactor: 1
-  m_ReferenceResolution: {x: 800, y: 600}
+  m_ReferenceResolution: {x: 800, y: 640}
   m_ScreenMatchMode: 0
   m_MatchWidthOrHeight: 0
   m_PhysicalUnit: 3
@@ -861,8 +964,9 @@ RectTransform:
   m_GameObject: {fileID: 1746675491}
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 640, y: 360, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalScale: {x: 1.6, y: 1.6, z: 1.6}
   m_Children:
+  - {fileID: 390057442}
   - {fileID: 1167427448}
   m_Father: {fileID: 0}
   m_RootOrder: 5
diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset
index 9d5d973..4c011af 100644
--- a/ProjectSettings/ProjectSettings.asset
+++ b/ProjectSettings/ProjectSettings.asset
@@ -160,7 +160,7 @@ PlayerSettings:
   AndroidTargetSdkVersion: 25
   AndroidPreferredInstallLocation: 1
   aotOptions: 
-  stripEngineCode: 1
+  stripEngineCode: 0
   iPhoneStrippingLevel: 0
   iPhoneScriptCallOptimization: 0
   ForceInternetPermission: 0
@@ -521,12 +521,14 @@ PlayerSettings:
   scriptingDefineSymbols: {}
   platformArchitecture: {}
   scriptingBackend:
+    Android: 0
     Standalone: 0
     WebPlayer: 0
   incrementalIl2cppBuild: {}
   additionalIl2CppArgs: 
   scriptingRuntimeVersion: 0
-  apiCompatibilityLevelPerPlatform: {}
+  apiCompatibilityLevelPerPlatform:
+    Android: 1
   m_RenderingPath: 1
   m_MobileRenderingPath: 1
   metroPackageName: SpaceShooter
-- 
GitLab